我不知道如何在 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。有人可以向我解释一下如何做到这一点才能起作用吗?
-eq仅用于数字比较,有关更多信息,请考虑阅读:
\n Shell 相等运算符(=、==、-eq)
另外,请考虑引用变量:
\n何时将引号括在 shell 变量周围?
-eq==#!/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\nRun Code Online (Sandbox Code Playgroud)\n\n\n别的东西
\n
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |