如何编写一个 shell 脚本来检查环境变量并在该变量未设置时写入日志文件?
另外,如果env变量指向的文件名不存在,如何创建它?
答案1
环境变量是导出到子流程的变量。
该脚本尚未适应您的需求,可能会有所帮助。它使用${var:?word}
语法 with 和 without:
来确定结果:
#!/bin/sh
unset=0
null=0
if ! sh -c 'echo ${var?}' >/dev/null 2>/dev/null; then
unset=1
elif ! sh -c 'echo ${var:?}' >/dev/null 2>/dev/null; then
null=1
fi
echo "unset = $unset"
echo "null = $null"
答案2
如果我没理解错的话
env | grep -q ^$VAR && logger -t varlogger "var is unset"
test -f $VAR || touch $VAR