我试图if
通过从命令行运行它来测试一个简单的语句,但 bash 不会运行它。
~$ myVar = 23
Run Code Online (Sandbox Code Playgroud)
运行条件语句
~$ if [$myVar -eq 23] then echo "myVar is 23" fi
Run Code Online (Sandbox Code Playgroud)
Bash 不会运行这个,我在这里错过了什么?
声明一个变量空格很重要:
myVar = 23
Run Code Online (Sandbox Code Playgroud)
以下缺少分号,括号内的间距很重要:
if [$myVar -eq 23] then echo "myVar is 23" fi
Run Code Online (Sandbox Code Playgroud)
应该:
myVar=23
Run Code Online (Sandbox Code Playgroud)
和:
if [ $myVar -eq 23 ]; then echo "myVar is 23"; fi
Run Code Online (Sandbox Code Playgroud)
如果写在多行上,也可以不用分号来写:
if [ "$myVar" -eq 23 ]
then
echo '$myVar is' "$myVar"
fi
Run Code Online (Sandbox Code Playgroud)
通常建议在变量上使用双引号。
单引号用于文字字符串。
这也是带一个分号的有效语法:
if [ "$myVar" -eq 23 ]; then
echo '$myVar is' "$myVar"
fi
Run Code Online (Sandbox Code Playgroud)