shell使用case语句实现编写菜单

本文介绍了如何在shell脚本中利用case语句来构建菜单系统,通过两个实际案例展示了其具体用法。

shell中的case语句适合用来编写菜单,通过两个案例体现:
案例一

#! /bin/bash

#编写一个水果菜单
cat << EOF
----------水果菜单---------
          1.Apple
          2.pear
          3.banana
          4.cherry
---------------------------
EOF
read -p "请选择您想吃的水果:" var

case $var in
        1)
                echo Apple
                ;;
        2)
                echo pear
                ;;
        3)
                echo banana
                ;;
        4)
                echo cherry
                ;;
        *)
                echo "对不起,您想吃的水果没在此菜单上!!!"
esac
结果:
[root@bogon ~]# vim case3.sh
[root@bogon ~]# chmod +x case3.sh
[root@bogon ~]# ./case3.sh 
----------水果菜单---------
	  1.Apple
	  2.pear
	  3.banana
	  4.cherry
---------------------------
请选择您想吃的水果:1
Apple
[root@bogon ~]# ./case3.sh 
----------水果菜单---------
	  1.Apple
	  2.pear
	  3.banana
	  4.cherry
---------------------------
请选择您想吃的水果:2
pear
[root@bogon ~]# ./case3.sh 
----------水果菜单---------
	  1.Apple
	  2.pear
	  3.banana
	  4.cherry
---------------------------
请选择您想吃的水果:3
banana
[root@bogon ~]# ./case3.sh 
----------水果菜单---------
	  1.Apple
	  2.pear
	  3.banana
	  4.cherry
---------------------------
请选择您想吃的水果:4
cherry
[root@bogon ~]# ./case3.sh 
----------水果菜单---------
	  1.Apple
	  2.pear
	  3.banana
	  4.cherry
---------------------------
请选择您想吃的水果:5
对不起,您想吃的水果没在此菜单上!!!

案例二:

#! /bin/bash

#编写一个shell脚本,使用shell编写一个菜单,分别实现以下内容:
#显示当前目录内容
#切换目录
#创建文件
#编辑文件
#删除文件
#提示用户从键盘输入目录名称和文件名称

MYDATE=`date +%d/%m/%y`
THIS_HOST=`hostname -s`
USER=`whoami`

cat << EOF
----------------------------------------------------
User:$USER        Host:$THIS_HOST        Date:$MYDATE
----------------------------------------------------
        1. list you selected directory
        2. Change to you selected directory
        3. Create a new file
        4. Edit you selected file
        5. Remove you selected file
        q. Exit Menu
-----------------------------------------------------
EOF

read -p "请输入你的选择[1-5]|q:" var

case $var in
case $var in
        1)
                echo "list you selected directory"
                ls -l
                ;;
        2)
                echo "Change to you selected directory"
                cd /etc
                ;;
        3)
                echo "Create a new file"
                touch file_name #输入要创建的文件的文件名
                ;;
        4)
                echo "Edit you selected file"
                vim file_nmae #输入要编辑的文件的文件名
                ;;
        5)
                echo "Remove you selected file"
                rm -r file_name  #输入删除的文件名
                ;;
        6)
                echo "exit"
esac                                      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值