两者有什么区别&&
, ||
, -a
, and -o
Unix 运算符?
这两种类型的使用有何限制?
难道仅仅是因为&&
and ||
在条件中使用标志时应该使用运算符吗?
As in:
[ "$1" = "yes" ] && [ -r $2.txt ]
versus:
[ "$1" = "yes" -a $2 -lt 3 ]
经验法则: Use -a
and -o
方括号内,&&
and ||
外部。
了解之间的区别很重要shell语法和语法[
command.
可是等等! Bash 有一种更奇特的测试语法,形式为[[ ]]
。如果您使用双方括号,您可以访问正则表达式和通配符等内容。您还可以使用 shell 运算符,例如&&
, ||
, <
, and >
自由地在括号内,因为,与[
, 双括号形式is特殊的 shell 语法。 Bash 解析[[
本身,所以你可以写类似的东西[[ $foo == 5 && $bar == 6 ]]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)