日期:2014-05-16  浏览次数:20588 次

关于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

*** 和 ‘***’ 是不相等的

就这样了