好吧,对于那些花费更多时间使用bash而不是我的人来说,这可能是非常明显的.
我正在尝试运行此代码:
#!/bin/bash
if ["1" -eq "2"]
then
echo "True"
else
echo "False"
fi
Run Code Online (Sandbox Code Playgroud)
但是当我执行文件时,它会发回
./test.sh: line 3: 1: command not found
False
Run Code Online (Sandbox Code Playgroud)
必须有一些我不知道的重要事项.我看到人们在括号后使用分号,这似乎没有任何区别......:S
Sie*_*geX 26
您需要在[
之前和之后添加空格,]
以便:
if [ "1" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)
但是,这种方式已被弃用,更好的使用方法是:
#!/bin/bash
if ((1 == 2))
then
echo "True"
else
echo "False"
fi
Run Code Online (Sandbox Code Playgroud)
yep eq仅用于算术比较.
用于字符串比较,你必须使用 =
#!/bin/bash
if [ "1" = "2" ]
then
echo "True"
else
echo "False"
fi
Run Code Online (Sandbox Code Playgroud)
另外,你需要在括号周围留出一些空间.
归档时间: |
|
查看次数: |
27809 次 |
最近记录: |