对于某些 shell 会话,如果未设置和导出 shell 变量,我希望能够打印警告标志。
如果SET_ME未设置或为空,则执行类似操作以在提示中打印“错误”相当简单。
test_var () { test -z "$1" && echo Error; }
PS1='$(test_var "$SET_ME") \$ '
Run Code Online (Sandbox Code Playgroud)
但是,如果我设置SET_ME而不导出它,则无法标记,这是我希望能够检测到的错误。$(bash -c 'test -z "$SET_ME" && echo Error;')缺少类似或 grepping 的输出export,是否有一个简单的检查可以测试是否SET_ME已导出?
完全可以接受非 POSIX、仅 bash 的解决方案。