如何在bash中使用if elif else

Dan*_*Dan 3 bash if-statement

我不知道如何在 bash 中使用简单的 if/elif/else 结构。我无法相信像这样微不足道的事情怎么会如此不直观和困难。我已经花了相当多的时间摆弄它。我想做的是这样的:

aaa="xxx"
if [[ $aaa -eq "bbb" ]]; then
   echo "bbb"
elif [[ $aaa -eq "ccc" ]]; then
   echo "ccc"
else
   echo "something else"
fi
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用单个[、两个、with [[((with==而不是-eq,我真的不是 Linux 人员,并且对语法非常困惑,我见过关于 if 条件的各种不同语法。bbb无论值是什么,它总是打印aaa。有人可以向我解释一下如何做到这一点才能起作用吗?

0st*_*ne0 7

-eq仅用于数字比较,有关更多信息,请考虑阅读:
\n Shell 相等运算符(=、==、-eq)

\n
\n

另外,请考虑引用变量:
\n何时将引号括在 shell 变量周围?

\n
\n
    \n
  • 变成:-eq==
  • \n
  • 引用变量
  • \n
\n
#!/bin/bash\n\naaa="xxx"\nif [[ "$aaa" == "bbb" ]]; then\n   echo "bbb"\nelif [[ "$aaa" == "ccc" ]]; then\n   echo "ccc"\nelse\n   echo "something else"\nfi\n
Run Code Online (Sandbox Code Playgroud)\n
\n

别的东西

\n
\n
在线尝试一下!
\n