在这种情况下哪个更好 - if else 循环或 shell 脚本中的 case ?

问题描述 投票:0回答:1

我正在尝试编写一个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 循环吗?

bash loops shell if-statement switch-statement
1个回答
0
投票

Case...esac 对于三个选项来说是不必要的,我认为。而且,在这种情况下你不能轻易使用它。

© www.soinside.com 2019 - 2024. All rights reserved.