1

如何在 bash shell 脚本中的 if 语句中给出两个或多个条件。这里我有一个名为opt. 如果opt值为1or23,则 if 块应执行 else 块。

4

4 回答 4

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

帽子提示乔纳森·莱弗勒

于 2013-03-26T06:23:37.670 回答
2

做到这一点的经典方法是case声明:

case "$opt" in
([123]) do-then-thing;;
(*)     do-else-thing;;
esac
于 2013-03-26T06:29:53.533 回答
1

您可以使用:

if [ cond1 ] || [ cond2]; then
于 2013-03-26T06:22:06.497 回答
1

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

 opt=2; if test $opt -eq 1 -o $opt -eq 2; then echo "hello"; fi
于 2013-03-26T06:22:38.740 回答