Ответ 1
Я думаю, что вы это делаете (оператор if
с условием, использующим синтаксис $?VAR
, который оценивает 1, если переменная установлена, и 0 в противном случае), вероятно, является наиболее идиоматическим csh
построить то, что вы хотите.
У меня есть несколько скриптов csh, где мне нужно проверить, что определенные переменные среды установлены до начала работы, поэтому я делаю такие вещи:
if ! $?STATE then
echo "Need to set STATE"
exit 1
endif
if ! $?DEST then
echo "Need to set DEST"
exit 1
endif
который много печатает. Есть ли более элегантная идиома для проверки того, уже установлена ли переменная среды?
Примечания:
Я думаю, что вы это делаете (оператор if
с условием, использующим синтаксис $?VAR
, который оценивает 1, если переменная установлена, и 0 в противном случае), вероятно, является наиболее идиоматическим csh
построить то, что вы хотите.
Попробуйте следующее:
[ -z STATE ] && echo "Need to set STATE"
[ ! -z DEST ] && echo "Need to set STATE"