shell 脚本中是否允许使用双“if”语句

Phi*_*rly 2 shell-script

在 C 语言中,我们可以使用if(a==b&&a==c)我们可以创建一个 double 和语句,这在 unix 中是可能的,具体来说是在 shell 脚本中吗?

gol*_*cks 6

if [ a == b ] && [ a == c ]; then
    // passed conditions
fi
Run Code Online (Sandbox Code Playgroud)

用 bash 特定的语法嵌套它们并没有那么糟糕:

if [[ ( a == b && a == c) || b == c ]]; then
Run Code Online (Sandbox Code Playgroud)

但我相信如果你想sh兼容它会变得非常难看。

  • `if [ "$a" = "$b" -a "$a" = "$c" ]; 然后 // 通过; fi` 是标准配置并保存测试 (3认同)