关于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表示错误 失败
------解决方案--------------------第一条相等 返回 0
第三条&&之前不相等 返回 1 &&之后没有执行
------解决方案--------------------是0-成功
非0-失败
------解决方案--------------------和C语言正好相反就对了,0 is true, others is false
*** 和 ‘***’ 是不相等的
就这样了