0

我想检查一个变量是否为空,它会引发以下错误。我尝试了以下组合,但它说同样的错误。我正在尝试找出文件夹中的文件

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

处理这个有什么建议吗?

4

2 回答 2

2

您是否尝试过使用 if [ "$output" != "" ];而不是if [ $output != "" ];

于 2013-09-27T02:27:11.893 回答
1

为了扩展@Quine 的建议,如果 $output 为空,您的 if 语句将扩展为

if [ != "" ];

这使得 bash 认为缺少一个论点。引用参数名称可以解决这个问题。

于 2013-09-27T10:50:39.937 回答