shell脚本中select循环语句

1. 脚本中select的语法格式

select VAR in LIST
docommand1command2... ...commandN
done

select循环语句有如下的特点:

  • select语句使用bash内部变量 PS3 的值作为它的提示符
  • 打印到屏幕上的列表LIST中的每一项都会在前面加上一个数字编号
  • 当用户输入的数字与某一个数字编号一致时,列表中列表的项即被赋值给VAR
  • 如果用户输入的内容为空时,将重新显示列表中的项和提示符信息
  • 可以通过添加一个退出选项,或者使用Ctrl+C 或Ctrl+V组合键来退出select循环

2. select脚本示例

#########################################################################
# File Name: OS_Info.sh
# Author: Toney Sun
# mail: vip_13031075266@163.com
# Created Time: 2020年04月25日 星期六 22时30分31秒
#########################################################################
#!/bin/bashPS3="your choice is [5 for quit ]: "while :
doselect choice in disk_partion filesystem cpu_load mem_util quitdocase "$choice" indisk_partion)#显示磁盘分区信息fdisk -lbreak;  ;;filesystem)#查看磁盘的使用率df -hbreak;;;cpu_load)#查看CPU的使用率uptimebreak;;;mem_util)#查看内存使用情况free -mbreak;;;quit)exit;;*)echo "Input error!!!";;esacecho "------------------------------------------"done
done

脚本的运行结果如下:

root@ubantu:/mnt/hgfs/em嵌入式学习记录/shell# ./systemInfo.sh
1) disk_partion  3) cpu_load      5) quit
2) filesystem    4) mem_util
your choice is [5 for quit ]: 2
Filesystem      Size  Used Avail Use% Mounted on
udev            946M     0  946M   0% /dev
tmpfs           196M  1.8M  195M   1% /run
/dev/sda1        20G   15G  3.9G  80% /
tmpfs           980M     0  980M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           980M     0  980M   0% /sys/fs/cgroup
/dev/loop1       15M   15M     0 100% /snap/gnome-logs/45
/dev/loop0       15M   15M     0 100% /snap/gnome-characters/495
/dev/loop2       94M   94M     0 100% /snap/core/9066
/dev/loop3      141M  141M     0 100% /snap/gnome-3-26-1604/98
/dev/loop4      2.3M  2.3M     0 100% /snap/gnome-calculator/260
/dev/loop5       63M   63M     0 100% /snap/gtk-common-themes/1506
/dev/loop8      3.8M  3.8M     0 100% /snap/gnome-system-monitor/57
/dev/loop6      3.8M  3.8M     0 100% /snap/gnome-system-monitor/135
/dev/loop7      141M  141M     0 100% /snap/gnome-3-26-1604/74
/dev/loop9      219M  219M     0 100% /snap/nextcloud/20007
/dev/loop11      13M   13M     0 100% /snap/gnome-characters/139
/dev/loop10     161M  161M     0 100% /snap/gnome-3-28-1804/116
/dev/loop12      55M   55M     0 100% /snap/gtk-common-themes/1502
/dev/loop13      94M   94M     0 100% /snap/core/8935
/dev/loop14     1.0M  1.0M     0 100% /snap/gnome-logs/93
/dev/loop16     4.4M  4.4M     0 100% /snap/gnome-calculator/704
/dev/loop15      55M   55M     0 100% /snap/core18/1705
vmhgfs-fuse     489G   35G  454G   8% /mnt/hgfs
tmpfs           196M   16K  196M   1% /run/user/121
tmpfs           196M   36K  196M   1% /run/user/1000
/dev/sr0        1.9G  1.9G     0 100% /media/toney/Ubuntu 18.04.2 LTS amd64
tmpfs           196M     0  196M   0% /run/user/0
/dev/loop17     233M  233M     0 100% /snap/nextcloud/20498
1) disk_partion  3) cpu_load      5) quit
2) filesystem    4) mem_util
your choice is [5 for quit ]: 

shell脚本中select循环语句用法相关推荐

  1. python的for语句用法_python中list循环语句用法实例

    本文实例讲述了python中list循环语句用法.分享给大家供大家参考.具体用法分析如下: Python 的强大特性之一就是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个 ...

  2. 如何获取shell脚本中某条语句的执行时间

    有没有办法获取shell脚本中某条语句的执行时间 如果要获得语句执行所花的时间 用time命令 在语句的前面加上time命令 输出结果一共3列 比如我执行time sleep 5 real    0m ...

  3. Shell脚本中的循环

    循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...

  4. 怎么编写Linux脚本循环语句,shell脚本及常用循环语句

    博文结构 什么是shell 简单编辑shell 循环语句 一.什么是shell及作用 Shell字面理解就是个"壳",是操作系统(内核)与用户之间的桥梁,充当命令解释器的作用,将用 ...

  5. 【shell】shell脚本实战-while循环语句

    前言 上文我们讨论了for循环的使用,在有限循环里,我们使用for循环是很方便的一件事情,今天我们来探讨下while循环 while循环语句的语法分析 语法格式一: while [条件] do操作 d ...

  6. shell 脚本中while 循环只执行一次的问题

    自己写的一个获取所有远程服务器数据库启动配置信息的bash 脚本,发现循环里的ssh远程命令只能执行一次,感觉很奇怪,以前没这么使用过, 我的脚本为 #!/bin/bash ## generate a ...

  7. shell脚本if与read语句用法练习

    #位置参数变量: #my_shell.sh ubuntu($1) centos($2) linux($3) #引用方式:$1 $2 $3 #useradd $1 #useradd $2 #userad ...

  8. shell脚本中for循环及while循环写法

    for循环 例1 **展示上面的数组 #!/bin/bash #脚本名称为222.sh name1="nihao1" name2="nihao2" name3= ...

  9. shell脚本中的case语句使用要点

    1.双分号(;;) 用于case语句中一个分支的结束. 可类比C++里面switch...case语句,在case语句之后,若所有语句都输完,后面跟着的"break;". 2.星号 ...

  10. shell脚本中执行mysql 语句,去除warning using a password on the command line interface can be insecure信息...

    方法二:使用mysql参数的方法 mysql -u$user -p$pass -D $db -e "select host from user;" 当然,可以通过将传参的方式来传递 ...

最新文章

  1. 黄聪:C#编写的Word操作类,有换页,添加表格,文本功能
  2. Hadoop HA+Federation 高可用联邦模式搭建指南
  3. EGOImageView 解析
  4. pat 乙级 1004 成绩排名(C++)
  5. Day08-函数(3)
  6. 复杂电路简化经典例题_【中考物理】电路简化的10大原则和7大步骤
  7. bzoj 3824: [Usaco2014 Dec]Guard Mark【状压dp】
  8. Oracle创建函数
  9. Cisco Packet Tracer思科模拟器单臂路由的配置
  10. 一个美国ECO PHD两年的学习总结
  11. 【面试笔试-c/c++】人民搜索2012校园招聘试题
  12. 二层交换机实现不同vlan通信
  13. HTML5 SVG生成图案背景样式的js插件
  14. walking机器人入门教程-离线建图-cartographer算法建图
  15. Python2—0704笔记
  16. (十四)商品详情页实现
  17. pure-specifier on function-definition
  18. c语言字母数字有多少种组合,C语言------排列组合 组合情况(重复和不重复)
  19. 第13期微生物组-宏基因组分析(线上/线下同时开课,2021.11)
  20. 神经网络学习小记录52——Pytorch搭建孪生神经网络(Siamese network)比较图片相似性

热门文章

  1. cck8graphpad作图_北京cck8数据作图「上海儒安生物科技供应」
  2. DOS各版本下载地址
  3. lua jit android,某LuaJit游戏解密教程~~
  4. SPSS基础教程:认识SPSS的主要窗口
  5. ubuntu 显卡驱动崩掉导致分辨率异常的问题解决
  6. 玩转接口测试工具fiddler 教程系列1
  7. 改进型MPPT算法C源代码仿真
  8. ARM 交叉编译器命名规则
  9. Gilbert Strang-线性代数总结
  10. 线性代数之 矩阵乘法的本质