我有一个脚本,其中我有一行,它确实将第三行放入我的变量中,如下所示:
variable=`sed -n '3 p' /home/nmsadm/abc.txt`
Run Code Online (Sandbox Code Playgroud)
所以variable保持这个值在abc.txt的第三行.在我的例子中,它将是一个单词行或空/空行.
如何比较shell脚本中的变量以确定它是否为空/空行?
echo $variable我找到了一条空行.
我需要在这里进行比较,以确保这是一条空线?像这样的东西:
if [ "$variable" = "comparison" ]; then
Run Code Online (Sandbox Code Playgroud)
空或未定义:
if [ -z "${variable-}" ]
Run Code Online (Sandbox Code Playgroud)
单个换行符:
if [ "${variable-}" = $'\n' ]
Run Code Online (Sandbox Code Playgroud)
未定义:
if [ "${variable+defined}" != defined ]
Run Code Online (Sandbox Code Playgroud)
注意,最后一个命令不是相反的
if [ "${variable-undefined}" = undefined ]
Run Code Online (Sandbox Code Playgroud)
要了解原因,请先尝试运行variable=undefined."${variable+defined}"只有两个可能的值:空字符串或defined.
| 归档时间: |
|
| 查看次数: |
4920 次 |
| 最近记录: |