我有以下脚本来检查是否发生了多种情况。
脚本:
#!/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
注意:如何使用IN
使用多个条件?
像:
if [ $ch IN ('1','01','001') ]
答案 0 :(得分:3)
改为使用case
语句:
case $ch in
1|01|001)
echo "Addition goes here"
;;
...
*)
echo "Invalid input"
esac
答案 1 :(得分:0)
使用bash,你可以写:
if [[ $ch == @(1|01|001) ]]
在[[ ... ]]
内,==
运算符执行模式匹配,扩展模式@(pattern-list)
匹配给定模式中的一个或多个。
文档:
https://www.gnu.org/software/bash/manual/bashref.html#Conditional-Constructs
https://www.gnu.org/software/bash/manual/bashref.html#Pattern-Matching