shell多个条件判断

我现在要写的shell有很多如果a1=111,然后执行ttt,然后在判断如果a1=222,然后执行ttt,这样会嵌套很多if,else,感觉这样写太喽了,有什么其他方式吗

可以用case
#!/bin/sh
case a1 in
111)
ttt
;;
222)
ttt
;;
*)
bbb
;;
esac追问

我的a1是下边的值
card_web
user
user_api
==割=

我是这样写的,但是这样写有问题,只能a1做for循环,每次只取一个值,再去用case判断,但效率会下降,a1的没个值都要跑所有的case了
aa(){
echo api
}
bb(){
echo web
}
a1=`cat log`
case $a1 in
card | user)
bb
;;
card_api | log_api)
aa
;;
esac

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答