设计一个脚本,让用户输入数字选择要执行的命令。例如,输出如下的提示,让用户输出指令。
*cmd meau** 1-date 2-ls 3-who 4-pwd
然后脚本将执行的结果输出到屏幕
提示出入选择的,用case 命令最合适了。case 语句的结构:
case 变量 in
value1 )
process1
;;
value2 )
process2
;;
value3)
process3
;;
value4)
process4
;;
*)
process5;
;;
esac
#!/bin/bash
echo ‘*cmd meau** 1-date 2-ls 3-who 4-pwd‘
read -p "please input a number for your cmd: " n
n2=`echo $n | sed ‘s/[0-9]//g‘`
if [ -n "$n2" ];then
echo "The input content is not a number."
exit
fi
case $n in
1)
date
;;
2)
ls
;;
3)
who
;;
4)
pwd
;;
*)
echo "please input a number 1-4"
;;
esac
分析
首先,按照题目要求输出提示行
然后,用read 读入用户输入的内容
读取内容之后,就要对内容进行判断。如果不是数字则要退出,重新执行。
如果是数字,则需要添加超出1-4范围的判断,提示用户超出了范围
原文:http://blog.51cto.com/hellocjq/2329034