【发布时间】:2010-10-11 04:42:07
【问题描述】:
下面一行中的-a 是什么意思。
if [ "${FILE_SYSTEM}" != "xyz" -a "${FILE_SYSTEM}" != "abc" ]
【问题讨论】:
标签: unix shell operators logical-operators
下面一行中的-a 是什么意思。
if [ "${FILE_SYSTEM}" != "xyz" -a "${FILE_SYSTEM}" != "abc" ]
【问题讨论】:
标签: unix shell operators logical-operators
man test
EXPRESSION1 -a EXPRESSION2
both EXPRESSION1 and EXPRESSION2 are true
【讨论】:
表示逻辑和运算符。
如果两个操作数都为真,则条件为真,否则为假。
在您的情况下,当变量 $FILE_SYSTEM 不是 xyz 并且不是 abc 时,if 中的条件将为真。
【讨论】:
在 shell 脚本测试(左大括号)中,它表示“和”,因此如果文件系统 var 不等于 xyz AND 不等于 abc,则测试成功。
【讨论】:
[ 是括号,{ 是括号
等价于
if [ "$x" != "a" -a "$x" != "b" ]; then
do_one_thing
else
do_other_thing
fi
是
case "$x" in
a|b) do_other_thing ;;
*) do_one_thing ;;
esac
【讨论】: