Shell脚本编程之创建文本菜单

2016/06/10 

创建交互式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








2. 使用select命令创建菜单
select 命令的格式如下:
select variable in list
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






【声明】欢迎转载,但请保留文章原始出处:http://blog.csdn.net/yelangjueqi/article/details/51636682


结束!
posted @   行走的思想  阅读(18)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示