Что означает -a
в строке ниже.Что делает «-a» в сценариях Unix Shell
if [ "${FILE_SYSTEM}" != "xyz" -a "${FILE_SYSTEM}" != "abc" ]
Что означает -a
в строке ниже.Что делает «-a» в сценариях Unix Shell
if [ "${FILE_SYSTEM}" != "xyz" -a "${FILE_SYSTEM}" != "abc" ]
man test
EXPRESSION1 -a EXPRESSION2
both EXPRESSION1 and EXPRESSION2 are true
В тесте сценария оболочки (открытая скобка), это значит «и» поэтому, если файловая система вар не равен хугу и не равны а, проверка проходит успешно.
Это означает, что логический и Оператор.
Если оба операнда верны, тогда условие будет истинным, иначе оно будет ложным.
В вашем случае условие в if
будет истинным, когда переменная $FILE_SYSTEM
не xyz
и не 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
'[' является кронштейн, '' {является скобка –