如果环境变量未设置,如何记录?
如何编写一个 shell 脚本来检查环境变量并在该变量未设置时写入日志文件?
How can I write a shell script that checks for an environment variable and writes to a log file if the variable is unset?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您只想在未设置时显示消息,那么:
如果您只是希望脚本停止并报告 stderr,那么:(
您可以在交互式 shell 中测试它,但交互式 shell 不会退出。将其放入脚本,然后脚本退出。)
If you only want a message when it is unset, then:
If you simply want the script to stop and report on stderr, then:
(You can test that in an interactive shell, but the interactive shell won't exit. Put it in a script and the script is exited.)
写入日志的命令是
logger
。并且您测试是否使用
test -v
设置了变量,因此在您的脚本中必须具有以下行:编辑:如果您的意思是 log 只是任意日志文件而不是系统日志,您当然可以用 echo bla bla > 替换记录器日志档案。
The command to write to the log is
logger
.And you test if a variable is set with
test -v
, so in your script you must have the lines:EDIT: In case you mean with log just an arbitrary log file and not the system log, you can of course replace the logger with echo bla bla > log.file.
[ -z "$name" ]
检查name
是否为空。要测试它是否未设置,请使用[ -z "${name+isset}" ]
。[ -z "$name" ]
checks whethername
is empty. To test whether it is unset, use[ -z "${name+isset}" ]
.