我正在尝试编写一个shell脚本,其中有一部分在条件满足时必须使用某种循环来执行一些命令。 我想了解解决这个问题的最佳方法是什么。
假设有 3 个标志
#export flag1=1
#export flag2=1
#export flag3=1
这些在开头都有评论。运行脚本时,我想逐个启用这些标志。
为此,我以这种方式编写了一个 if else 循环。
if [[ -n ${flag1} ]]; then
#some commands
elif [[ -n "${flag2}" ]]; then
#some commands
elif [[ -n ${flag3} ]]; then
#some commands
else
#some commands
fi
但是,当我启用 flag1 时,它会进入 else 循环,并且给出与预期不同的结果。
解决这个问题的最佳方法是什么?
我应该使用 case 而不是 if else 循环吗?
Case...esac 对于三个选项来说是不必要的,我认为。而且,在这种情况下你不能轻易使用它。