Shell case语句
1、case语句的语法:case实际是一个多分支的if语句
主要用于写启动脚本
case "字符串变量" in
值1)
指令1
;;
值2)
指令2
;;
*) #匹配其他所有情况
指令
;;
esac
2、案例
范例1:输入1,2,3,输出对应的数字
#!/bin/bash
read -p "pls inter a num:" num
case $num in
1)
echo 1
;;
2)
echo 2
;;
3)
echo 3
;;
*)
echo "pls input a int num"
;;
esac
范例2:
执行脚本打印一个水果菜单如下:
1、apple 2、pear 3、banana 4、cherry
当用户选择水果时,打印告诉水果是什么颜色,并给水果单词上色
要求用case语句实现
#!/bin/bash
#!/bin/bash
RED_COLOR='\E[1:31m'
GREEN_COLOR='\E[1:32m'
YELLOW_COLOR='\E[1:33m'
BULE_COLOR='\E[1:34m'
PINK_COLOR='\E[1:35m'
RES='\E[0m'
memu(){
cat << END
1、[apple]
2、[pear]
3、[banana]
4、[cherry]
END
}
memu
read -p "pls select a num for fruit" num
a=$num
case $a in
1)
echo -e "$GREEN_COLOR apple $RES"
;;
2)
echo -e "$YELLOW_COLOR pear $RES"
;;
3)
echo -e "$YELLOW_COLOR banana $RES"
;;
4)
echo -e "$RED_COLOR cherry $RES"
;;
*)
echo "pls a right num"
;;
esac
select流控制语句
语法简介
select 变量 in 关键字
do
操作
done
#select 把关键字中的每一项做成类似表单,以交互的的方式执行do和done之间的命令
select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择,用户可以以交互的方式对菜单进行选择
#!/bin/bash
echo "What is your favourite OS?"
select var in "Linux" "Gnu Hurd" "Free BSD" "Other"
do
break;
done
echo "You have selected $var"