在unix shell脚本中使用test -a的语法错误

时间:2016-01-21 00:06:54

标签: bash shell unix

我是shell脚本的新手。我试图运行以下但它给我语法错误。有什么问题?

public async void OnAppearing()
{

}

1 个答案:

答案 0 :(得分:1)

好吧,让我们看看:

$ shellcheck myscript 

In myscript line 1:
[[ $# -gt 0 -a $(file -b $1) != 'JPEG'* ]]
            ^-- SC2108: In [[..]], use && instead of -a.

你去吧。这是一个完整的示例(带上您自己的测试文件):

#!/bin/bash
if [[ $# -gt 0 && $(file -b $1) != 'JPEG'* ]]
then
  echo "true"
else
  echo "false"
fi

行动中:

$ chmod +x myscript
$ ./myscript
false
$ ./myscript test.jpg
false
$ ./myscript test.pdf
true