在if语句中检查两个以上的条件

时间:2013-03-26 06:16:47

标签: bash

如何在bash shell脚本的if语句中给出两个或多个条件。这里有一个名为opt的变量。如果opt值为123,则if块应执行否则阻止。

4 个答案:

答案 0 :(得分:2)

if [[ $opt =~ ^[123]$ ]]
then
  echo foo
else
  echo bar
fi

帽子提示Jonathan Leffler

答案 1 :(得分:2)

这样做的经典方法是case声明:

case "$opt" in
([123]) do-then-thing;;
(*)     do-else-thing;;
esac

答案 2 :(得分:1)

你可以使用:

if [ cond1 ] || [ cond2]; then

答案 3 :(得分:1)

您可以使用测试的or运算符(通常称为[)

 opt=2; if test $opt -eq 1 -o $opt -eq 2; then echo "hello"; fi