我有一些csh脚本需要在开始做之前检查某些环境变量是否已设置,所以我做了这样的事情:
if ! $?STATE then
echo "Need to set STATE"
exit 1
endif
if ! $?DEST then
echo "Need to set DEST"
exit 1
endif
这是很多打字。是否有更优雅的习惯用于检查环境变量是否已设置?
注意:
答案 0 :(得分:20)
我认为你正在这样做的方式(if
语句使用$?VAR
语法,如果设置了变量则计算为1,否则为0,可能是最大的惯用csh
构造,可以做你想要的。
答案 1 :(得分:-5)
尝试以下方法:
[ -z STATE ] && echo "Need to set STATE"
[ ! -z DEST ] && echo "Need to set STATE"