创建文本菜单的一半功夫都花在了创建菜单布局和获取输入的字符上。bash shell提供了一个很容易上手的小工具来自动完成这些工作
select命令允许从单个命令行创建菜单,然后在提取输入的答案并自动处理。select命令的格式如下:

select variable in list
do
commands
done

list参数是构成菜单的空格分割的文本选项列表。select命令会在列表中将每个选项作为一个编好号的选项显示,然后为选项显示一个特殊的用PS3环境变量定义的提示符

#!/bin/bash
# using select in the menu function diskspace {
clear
df -k
} function whoseon {
clear
who
} function menusage {
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

运行后输出:

输入1

其它命令就演示了。

最新文章

  1. vertx简单客户端创建
  2. 利用Delphi的File Of Type创建并管理属于你自己的数据库
  3. 关闭不安全的HTTP方法
  4. .net之XML
  5. 【POJ】【2601】Simple calculations
  6. UVa 1594 (Floyd判圈) Ducci Sequence
  7. cocos2d-x for android:SimpleGame分析
  8. Ubuntu安装Burg
  9. php 遍历一个文件夹下的所有文件和子文件夹
  10. 【模拟】Codeforces 691B s-palindrome
  11. Ffplay视频播放流程
  12. #define命令的一些高级用法
  13. 玩转Web之html+CSS(一)---论坛首页表格的实现
  14. BZOJ_2738_矩阵乘法_整体二分
  15. springBootJpa的复杂查询
  16. js中变量名加“-” new Vue()不执行
  17. CentOS7 linux 中提示 bash: ls: 未找到命令...
  18. python 一次创建多级目录
  19. POJ 3164 Command Network ( 最小树形图 朱刘算法)
  20. Linux下安装subversion1.6.5和apache2

热门文章

  1. 理解Linux中断 (3)【转】
  2. uniq DEMO
  3. struts2上传
  4. Java transient关键字序列化时使用小记
  5. Spring+Quartz实现定时执行任务的配置
  6. app缓存设计-文件缓存
  7. Eclipse编译器及一些jdk + notepad
  8. Uva 725 除法
  9. HDU(2089),数位DP
  10. HDU 2289 CUP 二分