Macos Bash:如何将参数与if语句进行比较?
我试图使用以下代码比较OSX下bash中的一个参数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”和关闭]之间留出一个空格 编辑 需要说明的是,之所以需要空
#!/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"
无法足够快地键入:)