我正在编写一些脚本,我需要检查一些环境变量并列出所有缺失的变量。我看到很多帖子会检查一个并退出。
if [ -z "$BLAH" ]; then
echo "Missing BLAH"
exit 1
fi
但是,我想打印所有丢失的,然后如果没有设置任何内容则退出。我现在正在做这样的事情,有没有更优雅的方法来做到这一点?
function check_env_vars {
status=0
for name in $*; do
value="${!name}"
echo "$value"
if [[ -z "$value" ]]; then
echo "$name environment variable must not be empty"
status=1
fi
done
return $status
}
if [[ check_env_vars "BLAH" "BLAH1" "BLAH2" -ne 0 ]]; then
exit 1
fi
欣赏任何想法或想法。