加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 23:08:37 所属栏目:安全 来源:网络整理
导读:1. 习题 设计一个脚本,让用户输入数字选择要执行的命令。例如,输出如下的提示,让用户输出指令。 *cmd meau** 1-date 2-ls 3-who 4-pwd 然后脚本将执行的结果输出到屏幕 2. 分析 提示出入选择的,用case 命令最合适了。case 语句的结构: case 变量 invalu
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范围的判断,提示用户超出了范围

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读