bash-IF在中使用多个条件

bash-IF在中使用多个条件,bash,shell,unix,Bash,Shell,Unix,我有以下脚本来检查是否发生了多个条件 脚本: #!/bin/bash echo "1.Add, 2.Sub, 3.Mul, 4.Div" echo "Enter your choice:" read ch #Here i want to check the condition for 1, 01 and also 001 if [ $ch = 1 ] then echo "Addition goes here" ... ... fi 注意:如何使用中的使用多个条件 比如: 改用c

我有以下脚本来检查是否发生了多个条件

脚本

#!/bin/bash
echo "1.Add,  2.Sub, 3.Mul, 4.Div"
echo "Enter your choice:"
read ch

#Here i want to check the condition for 1, 01 and also 001
if [ $ch = 1 ]
then
     echo "Addition goes here"
...
...
fi
注意:如何使用中的
使用多个条件

比如:


改用
case
语句:

case $ch in
  1|01|001)
    echo "Addition goes here"
    ;;
  ...
  *)
    echo "Invalid input"
esac

改用
case
语句:

case $ch in
  1|01|001)
    echo "Addition goes here"
    ;;
  ...
  *)
    echo "Invalid input"
esac

使用bash,您可以编写:

if [[ $ch == @(1|01|001) ]]
[…]]
内部,
=
操作符进行模式匹配,扩展模式
@(模式列表)
匹配一个或多个给定模式

文档:


使用bash,您可以编写:

if [[ $ch == @(1|01|001) ]]
[…]]
内部,
=
操作符进行模式匹配,扩展模式
@(模式列表)
匹配一个或多个给定模式

文档: