linux – 什么时候应该在布尔条件中用引号推送变量?
发布时间:2020-12-14 01:37:42 所属栏目:Linux 来源:网络整理
导读:以下两个布尔表达式是否相同? if [ -n $1 ] ; then if [ -n "$1" ] ; then 而这两个 if [ $? == 0 ] ; thenif [ "$?" == 0 ] ; then 如果不是 – 什么时候应该在引号中加上变量? 解决方法 当有可能包含空格时,将变量放在引号中,或者通常不是连续的字符串.
以下两个布尔表达式是否相同?
if [ -n $1 ] ; then if [ -n "$1" ] ; then 而这两个 if [ $? == 0 ] ; then if [ "$?" == 0 ] ; then 如果不是 – 什么时候应该在引号中加上变量? 解决方法
当有可能包含空格时,将变量放在引号中,或者通常不是连续的字符串.所以
作为$?应始终为0到255之间的值,您不需要引用它,因为它是每个子进程返回后设置的返回值.通过直接分配字符串值,即不可能破坏它,即 $?=Is of course wrong and should be ?=Bad value assigment 因为用户变量名必须以[A-Za-z_]开头,所以不要这样做;-) 而对于1美元,如果传递的值是这样的 myscript "arg1 with spaces" 考试 if [ -n $1 ] ; then 会爆炸, 但是测试 if [ -n "$1" ] ; then 将会成功. IHTH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |