2015-02-07 49 views
1

这里就是我试图做我如何用多选菜单变量创建一个shell脚本?

Please pick from the following 
1) area1 
2) area2 
3) area3 

Now pick a place based on the area you chose 
1) place1 
2) place2 
3) place3 

Based on $area and $place here is what you need... 

我的猜测是我需要的,如果陈述案和组合,但我不能环绕这个问题我的头。

+1

您是否尝试过'select'语句? – Barmar 2015-02-07 01:46:12

+0

检查此问题http://stackoverflow.com/questions/226703/how-do-i-prompt-for-input-in-a-linux-shell-script – 2015-02-07 01:47:05

回答

2

按@Barmar建议使用select语句。根据你的榜样

echo 'Please pick from the following' 

select area in area1 area2 area3 
do 
     case $area in 
     area1|area2|area3) 
       break 
       ;; 
     *) 
       echo "Invalid area" 
       ;; 
     esac 
done 

echo 'Now pick a place based on the area you chose' 
select place in place1 place2 place3 
do 
     case $place in 
     place1|place2|place3) 
       break 
       ;; 
     *) 
       echo "Invalid place" 
       ;; 
     esac 
done 

echo "Based on $area and $place here is what you need..." 

我以前a|b|c)将多个选择,但你可以为每一个单独的代码路径。 *)可以用作“else”子句。使用break跳出菜单循环。在case声明和;声明之间使用;;条款。