一、语法
select 变量 in con1 con2 con3 # 自动列出 con1,con2,con3 的选择菜单 do #执行内容 break # select本身就是一个循环,break是当选择后,就跳出循环 done
二、练习
- select + case 模拟 Linux 启动脚本
function programstatus(){ if [ "$1" -eq 0 ]; then echo "* program is running" else echo "* program has stopped" fi } status=0 #0: start; 1:stop select p in "start" "stop" "status" "restart" "*" "" do case "$p" in "start") status=0 programstatus $status ;; "stop") status=1 programstatus $status ;; "status") programstatus $status ;; "restart") if [ "$status" -eq 0 ]; then status=1 echo "* program has stopped" fi status=0 echo "* program is running" ;; "") break ;; *) echo "Plz input [start|stop|status|restart]" ;; esac done
[email protected]:~$ ./test.sh 1) start 2) stop 3) status 4) restart 5) #? 1 * program is running #? 2 * program has stopped #? 3 * program has stopped #? 4 * program is running #? 5 [email protected]:~$
时间: 2024-08-04 02:13:51