У меня проблемы с пониманием, могу ли я использовать подстановочные знаки в выражении if в рыбе.Этот переключатель / регистр работает должным образом:
# correctly echos macOS on macOS
switch "$OSTYPE"
case 'darwin*'
echo 'macOS'
case '*'
echo 'not macOS'
end
Однако я не могу заставить работать версию оператора той же вещи if.
# doesn't work - prints 'not macOS' on macOS
if [ "$OSTYPE" = 'darwin*' ]
echo 'macOS'
else
echo 'not macOS'
end
В zsh / bash вы можете что-то сделатькак это:
[[ $OSTYPE == darwin* ]] && echo 'macOS' || echo 'not macOS'
Или, более детально,
if [[ $OSTYPE == darwin* ]]
then echo 'macOS'
else echo 'not macOS'
fi
Мой вопрос заключается в том, поддерживает ли fish подстановочные знаки с переменной в выражениях if
?Я делаю это неправильно?Я не могу найти пример в документах по рыбе, который говорит мне в любом случае.
ПРИМЕЧАНИЕ : Я не спрашиваю о проверке $OSTYPE
в рыбе. Я знаю, что есть лучшие способы сделать это .Мой вопрос ограничен только тем, можно ли использовать подстановочные знаки в выражении if
в рыбе.