我试图使用以下代码比较OSX下的bash中的参数…
#!/bin/bash if ["$1" == "1"] then echo $1 else echo "no" fi
但我一直收到以下错误
$bash script.sh 1 script.sh: line 3: [1: command not found no
如何阻止它试图评估“1”?
[是一个测试命令,所以你需要一个[和“$1”之间的空格,以及“1”和结束之间的空格]
编辑
只是为了澄清,需要空间,因为[是测试bash命令的不同语法,因此以下是编写脚本的另一种方法:
#!/bin/bash if test "$1" == "1" then echo $1 else echo "no" fi
哪个可以进一步简化为
#!/bin/bash [ "$1" == "1" ] && echo "$1" || echo "no"