检查环境变量

时间:2013-03-28 16:33:41

标签: unix

使用此UNIX脚本,我可以检查是否设置了变量TEST_VAR:

: ${TEST_VAR:?"Not set or empty."}

我是unix的新手,所以有人可以解释一下这个命令是什么。

2 个答案:

答案 0 :(得分:1)

来自bash手册:

${parameter:?word}
     

如果参数为null或未设置,则扩展word(或消息为   如果word不存在则该效果被写入标准错误   和shell,如果它不是交互式的,则退出。否则,价值   参数被替换。

答案 1 :(得分:1)

它是原始的shell注释符号(在'#'到行尾之前)。很长一段时间,Bourne shell脚本都有一个冒号作为第一个字符。 C Shell将读取一个脚本并使用第一个字符来确定它是用于C Shell('#'哈希)还是Bourne shell(':'冒号)。然后内核加入了行为,并添加了对'#!/ path / to / program'的支持,Bourne shell获得了'#'评论,并且冒号大会走到了路边

看看这个类似的问题:

What's a concise way to check that environment variables are set in a Unix shell script?