shell练习(11)——运用case进行菜单选择

1. 习题

设计一个脚本,让用户输入数字选择要执行的命令。例如,输出如下的提示,让用户输出指令。

*cmd meau** 1-date 2-ls 3-who 4-pwd

然后脚本将执行的结果输出到屏幕

2. 分析

提示出入选择的,用case 命令最合适了。case 语句的结构:

case  变量  in
value1 )
     process1
     ;;
value2 )
     process2
     ;;
value3)
     process3
     ;;
value4)
     process4
     ;;
*)
      process5;
    ;;
esac

3. 脚本

#!/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范围的判断,提示用户超出了范围

转载于:https://blog.51cto.com/hellocjq/2329034

你可能感兴趣的:(shell练习(11)——运用case进行菜单选择)