Shell脚本编程之创建文本菜单
来源:互联网 发布:如何设计软件 编辑:程序博客网 时间:2024/06/06 18:12
2016/06/10
创建交互式shell脚本最常用的方法是使用菜单。提供各种选项可以帮助脚本用户了解脚本能做什么,不能做什么;通常菜单脚本会清空显示区域,然后显示可用的选项列表。用户可以按下与每个选项关联的字母或数字来选择选项
Shell脚本菜单的核心是case命令,case命令会根据用户在菜单上的选择来执行特定命令
1. 使用典型的case语句创建文本菜单:
2. 使用select命令创建菜单
select 命令的格式如下:
list参数是构成菜单的空格分割的文本选项列表。select命令会在列表中将每个选项作为一个编好号的选项显示,然后为选项显示一个特殊的由
PS3环境变量定义的提示符。
创建交互式shell脚本最常用的方法是使用菜单。提供各种选项可以帮助脚本用户了解脚本能做什么,不能做什么;通常菜单脚本会清空显示区域,然后显示可用的选项列表。用户可以按下与每个选项关联的字母或数字来选择选项
Shell脚本菜单的核心是case命令,case命令会根据用户在菜单上的选择来执行特定命令
1. 使用典型的case语句创建文本菜单:
#!/bin/bash
#simple script menu
function diskspace {
clear
df -k
}
function whoseon {
clear
who
}
function memusage {
clear
cat /proc/meminfo
}
function menu {
clear
echo
echo -e "\t\tSys Admin Menu"
echo -e "\t1. Display disk space"
echo -e "\t2. Display logged on users"
echo -e "\t3. Display memory usage"
echo -e "\t0. Exit program\n\n"
echo -en "\tEnter option: "
read -n 1 option
}
while [ 1 ]
do
menu
case $option in
0)
break ;;
1)
diskspace ;;
2)
whoseon ;;
3)
memusage ;;
*)
clear
echo "Sorry.wrong selection" ;;
esac
echo -en "\n\n\t\t\tHit any key to continue: "
read -n 1 line
done
clear
#simple script menu
function diskspace {
clear
df -k
}
function whoseon {
clear
who
}
function memusage {
clear
cat /proc/meminfo
}
function menu {
clear
echo
echo -e "\t\tSys Admin Menu"
echo -e "\t1. Display disk space"
echo -e "\t2. Display logged on users"
echo -e "\t3. Display memory usage"
echo -e "\t0. Exit program\n\n"
echo -en "\tEnter option: "
read -n 1 option
}
while [ 1 ]
do
menu
case $option in
0)
break ;;
1)
diskspace ;;
2)
whoseon ;;
3)
memusage ;;
*)
clear
echo "Sorry.wrong selection" ;;
esac
echo -en "\n\n\t\t\tHit any key to continue: "
read -n 1 line
done
clear
2. 使用select命令创建菜单
select 命令的格式如下:
select variable in list
do
commands
done
do
commands
done
list参数是构成菜单的空格分割的文本选项列表。select命令会在列表中将每个选项作为一个编好号的选项显示,然后为选项显示一个特殊的由
PS3环境变量定义的提示符。
#!/bin/bash
#simple script menu
function diskspace {
clear
df -k
}
function whoseon {
clear
who
}
function memusage {
clear
cat /proc/meminfo
}
PS3="Enter option: "
select option in "Display disk space" "Display logged on users" "Display memory usage" "Exit program"
do
case $option in
"Exit program")
break ;;
"Display disk space")
diskspace ;;
"Display logged on users")
whoseon ;;
"Display memory usage")
memusage ;;
*)
clear
echo "Sorry.wrong selection"
esac
done
clear
#simple script menu
function diskspace {
clear
df -k
}
function whoseon {
clear
who
}
function memusage {
clear
cat /proc/meminfo
}
PS3="Enter option: "
select option in "Display disk space" "Display logged on users" "Display memory usage" "Exit program"
do
case $option in
"Exit program")
break ;;
"Display disk space")
diskspace ;;
"Display logged on users")
whoseon ;;
"Display memory usage")
memusage ;;
*)
clear
echo "Sorry.wrong selection"
esac
done
clear
【声明】欢迎转载,但请保留文章原始出处:http://blog.csdn.net/yelangjueqi/article/details/51636682
0 0
- Shell脚本编程之创建文本菜单
- shell脚本菜单的创建
- Linux-Shell编程之创建shell脚本并执行
- shell 脚本之文本处理
- shell脚本编程:sed命令编辑文本
- linux学习之shell脚本 ------- 文本过滤
- shell 菜单脚本之 read choice
- DOS批处理命令之创建文本菜单
- Shell编程之 脚本语法
- shell脚本编程之基础
- shell脚本编程之awk
- shell脚本编程之变量
- Shell脚本编程之函数
- Shell脚本编程之引号
- shell 脚本编程之变量
- shell 脚本编程之引用
- shell 脚本编程之函数
- Shell编程之文本过滤笔记
- 25、连接池(DBCP、C3P0)、动态代理与分页技术
- PHP数据库连接mysql与mysqli的区别与用法
- 08、z-index
- [Android] 使用 ViewPager实现滚动广告
- Merge Sorted Array
- Shell脚本编程之创建文本菜单
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- 4-7 统计某类完全平方数 (20分)
- Moc'ing qt1.h... 系统找不到指定的路径。 Project : error PRJ0019: 工具从"Moc'ing qt1.h..."
- Range——插入对象insertNode
- Serializable 和 Parcelable 两种序列化
- Eclipse使用Material Design步骤详解
- android 自定义View基础(2)
- Android的线程和线程池