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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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范围的判断,提示用户超出了范围

以上是关于shell练习(11)——运用case进行菜单选择的主要内容,如果未能解决你的问题,请参考以下文章

练习脚本总结

用case结构编写linux的shell脚本,实现加减乘除的四则运算

shellLinux shell 之 case 详解

shell 编程进阶与自动化脚本expect的运用

shell脚本—— case语句+函数

Shell脚本练习题 一(if case)