shell多个条件判断
我现在要写的shell有很多如果a1=111,然后执行ttt,然后在判断如果a1=222,然后执行ttt,这样会嵌套很多if,else,感觉这样写太喽了,有什么其他方式吗...
我现在要写的shell有很多如果a1=111,然后执行ttt,然后在判断如果a1=222,然后执行ttt,这样会嵌套很多if,else,感觉这样写太喽了,有什么其他方式吗
展开
1个回答
展开全部
可以用case
#!/bin/sh
case a1 in
111)
ttt
;;
222)
ttt
;;
*)
bbb
;;
esac
#!/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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询