Macos Bash:如何将参数与if语句进行比较?

Macos Bash:如何将参数与if语句进行比较?,macos,bash,shell,Macos,Bash,Shell,我试图使用以下代码比较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”和关闭]之间留出一个空格 编辑 需要说明的是,之所以需要空

我试图使用以下代码比较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”
和关闭
]之间留出一个空格

编辑

需要说明的是,之所以需要空格,是因为
[
test
bash命令的不同语法,因此以下是编写脚本的另一种方式:

#!/bin/bash

if test "$1" == "1"
then
        echo $1
else
        echo "no"
fi
可以进一步简化为

#!/bin/bash
[ "$1" == "1" ] && echo "$1" || echo "no"

无法足够快地键入:)