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

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

1352

被折叠的 条评论
为什么被折叠?



