当前位置: 技术问答>linux和unix
关于Linux中[]中变量与常量的一些疑问,望各位大侠指点一二
来源: 互联网 发布时间:2017-01-30
本文导语: 我再脚本里写了如下内容: ame="freewind" [ "$name" == "freewind" ] echo $? [ "$name" == "'freewind'" ] echo $? [ "$name" == "'freewind'" ] && echo "equal ''" [ "$name" == "freewind" ] && echo "equal qual" 运行结果如下: 0 1 equal qual ...
我再脚本里写了如下内容:
ame="freewind"
[ "$name" == "freewind" ]
echo $?
[ "$name" == "'freewind'" ]
echo $?
[ "$name" == "'freewind'" ] && echo "equal ''"
[ "$name" == "freewind" ] && echo "equal qual"
运行结果如下:
0
1
equal qual
怎么会刚好相反呢?哪位能解释一下,刚接触Linux的不胜感激。
ame="freewind"
[ "$name" == "freewind" ]
echo $?
[ "$name" == "'freewind'" ]
echo $?
[ "$name" == "'freewind'" ] && echo "equal ''"
[ "$name" == "freewind" ] && echo "equal qual"
运行结果如下:
0
1
equal qual
怎么会刚好相反呢?哪位能解释一下,刚接触Linux的不胜感激。
|
[ "$name" == "'freewind'" ]
echo $?
----------
$name和'freewind'不相等 所以表达式不成功 所以$?是1
在linux下一般0表示成功 表示OK
非0表示错误 失败
echo $?
----------
$name和'freewind'不相等 所以表达式不成功 所以$?是1
在linux下一般0表示成功 表示OK
非0表示错误 失败
|
第一条相等 返回 0
第三条&&之前不相等 返回 1 &&之后没有执行
第三条&&之前不相等 返回 1 &&之后没有执行
|
和C语言正好相反就对了,0 is true, others is false
*** 和 ‘***’ 是不相等的
就这样了
*** 和 ‘***’ 是不相等的
就这样了
|
是0-成功
非0-失败
非0-失败