社区
Linux/Unix社区
帖子详情
使用test如何识别变量为空字符串?
korli319
2011-05-16 01:57:58
echo "please input ......"
read a
test -n $a
echo $?
以上是我想测式下变量a是否为一个空字符串,当输入一些字符串的时候,$?为0,但如果什么也不输,直接为回车的时候,也就是说a什么也没有,但是这样就会出错,我的目的是想如果a为非空的话,$?为0,如果a为空的话,就让$?为1,不知道怎么弄,请高手帮帮忙!万分感激!
...全文
155
5
打赏
收藏
使用test如何识别变量为空字符串?
echo "please input ......" read a test -n $a echo $? 以上是我想测式下变量a是否为一个空字符串,当输入一些字符串的时候,$?为0,但如果什么也不输,直接为回车的时候,也就是说a什么也没有,但是这样就会出错,我的目的是想如果a为非空的话,$?为0,如果a为空的话,就让$?为1,不知道怎么弄,请高手帮帮忙!万分感激!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
korli319
2011-05-16
打赏
举报
回复
[Quote=引用 1 楼 steptodream 的回复:]
test -n $a
改成
test -n "$a"
因为如果直接回车 等于没有输入那么test -n $a 就变成了test -n 语句当然会报错
另外 你不用判断$?了 直接用这个表达式判断就可以了!!
if test -n "$a"
then
echo "不为空"
else
echo "为空"
fi
[/Quote]
兄弟,你的回答太神速了,谢谢,你的方法很有效!
rucypli
2011-05-16
打赏
举报
回复
test -z $a
zz760310
2011-05-16
打赏
举报
回复
楼主辛苦!分儿!严重需要!
ak_kay
2011-05-16
打赏
举报
回复
test -n "$a" >/dev/null
echo $?
steptodream
2011-05-16
打赏
举报
回复
test -n $a
改成
test -n "$a"
因为如果直接回车 等于没有输入那么test -n $a 就变成了test -n 语句当然会报错
另外 你不用判断$?了 直接用这个表达式判断就可以了!!
if test -n "$a"
then
echo "不为空"
else
echo "为空"
fi
Shell脚本
字符串
非空判断:原理、方法与实战避坑指南
在Shell脚本编程中,
变量
处理是基础且核心的操作,其中
字符串
非空判断直接关系到脚本的健壮性与可靠性。其原理涉及Shell的
变量
展开、命令替换和条件测试机制,不同Shell解释器(如Bash、Zsh)的实现细节存在差异。掌握正确的判断方法能有效避免因空值导致的逻辑错误,例如循环失控或文件误删,这是构建防御性编程的关键。在工程实践中,该技术广泛应用于处理命令行参数、验证配置文件、解析命令输出等不确定输入场景。本文聚焦于Shell脚本中
字符串
非空判断的多种方法,深入解析`[[ ]]`、`[ ]`、参数扩展等核心
shell script学习(三)判断式的
使用
:
test
命令以及[ ]
shell script中的判断式,顾名思义就是判断一个式子是否满足一定的条件。在script中有如下几种实现方式: 1、
使用
test
命令 先举个简单的例子,比如说判断在当前目录下判断一个文件script1.sh是否存在,那么根据
test
使用
的语法,可写成如下:
test
-e script1.sh 如果存在的话那么返回的值是1,于是我们结合 && 以及 || 逻辑运算可构造:
test
Java
字符串
非空校验:从基础方法到工具类封装最佳实践
字符串
校验是Java开发中的基础技术概念,其核心原理在于准确
识别
null值、空
字符串
和空白字符等不同形态。通过防御性编程和统一校验策略,可以有效预防NullPointerException等常见问题,提升代码健壮性。在技术价值层面,规范的
字符串
处理能够显著减少功能异常和安全漏洞,保障系统稳定性。在实际应用场景中,
字符串
校验广泛应用于用户输入验证、配置参数处理和数据库操作等环节。本文基于
字符串
处理和NullPointerException等热词,深入探讨Java
字符串
非空校验的完整解决方案,涵盖基础方法对比、
Linux命令:
test
今天同事问了我一个问题,有关于Linux命令:
test
的用法。其实是比较简单的,下面先看看那个问题:#!/bin/bashflag=0;for ((i=1;ido echo -n "please input your name:"; read username; echo -n "please input your password:";
shell中
变量
的
使用
一个shell程序将继承其父shell的所有全局环境
变量
(即export的
变量
),并且可以对其重写而不影响父shell
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章