我想要检查变量是否为null,它会抛出以下错误。我已经尝试了以下组合,但它说同样的错误。我想找出文件夹中的文件
cmd="ls -tm"
output=$($cmd)
echo $output // doesn't print out anything as the folder is empty
if [ $output != "" ];
对于下面的一个,它进入循环
if[ -z $output ];
错误输出:
line 25: [: !=: unary operator expected
有关处理此事的任何建议吗?
答案 0 :(得分:2)
您是否尝试过使用if [ "$output" != "" ];
代替if [ $output != "" ];
?
答案 1 :(得分:1)
要扩展@Quine的建议,如果$ output为null,则if语句扩展为
if [ != "" ];
这使得bash认为缺少一个参数。引用参数名称可以克服这一点。