shell脚本中select循环语句用法
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循环语句用法相关推荐
- python的for语句用法_python中list循环语句用法实例
本文实例讲述了python中list循环语句用法.分享给大家供大家参考.具体用法分析如下: Python 的强大特性之一就是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个 ...
- 如何获取shell脚本中某条语句的执行时间
有没有办法获取shell脚本中某条语句的执行时间 如果要获得语句执行所花的时间 用time命令 在语句的前面加上time命令 输出结果一共3列 比如我执行time sleep 5 real 0m ...
- Shell脚本中的循环
循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...
- 怎么编写Linux脚本循环语句,shell脚本及常用循环语句
博文结构 什么是shell 简单编辑shell 循环语句 一.什么是shell及作用 Shell字面理解就是个"壳",是操作系统(内核)与用户之间的桥梁,充当命令解释器的作用,将用 ...
- 【shell】shell脚本实战-while循环语句
前言 上文我们讨论了for循环的使用,在有限循环里,我们使用for循环是很方便的一件事情,今天我们来探讨下while循环 while循环语句的语法分析 语法格式一: while [条件] do操作 d ...
- shell 脚本中while 循环只执行一次的问题
自己写的一个获取所有远程服务器数据库启动配置信息的bash 脚本,发现循环里的ssh远程命令只能执行一次,感觉很奇怪,以前没这么使用过, 我的脚本为 #!/bin/bash ## generate a ...
- shell脚本if与read语句用法练习
#位置参数变量: #my_shell.sh ubuntu($1) centos($2) linux($3) #引用方式:$1 $2 $3 #useradd $1 #useradd $2 #userad ...
- shell脚本中for循环及while循环写法
for循环 例1 **展示上面的数组 #!/bin/bash #脚本名称为222.sh name1="nihao1" name2="nihao2" name3= ...
- shell脚本中的case语句使用要点
1.双分号(;;) 用于case语句中一个分支的结束. 可类比C++里面switch...case语句,在case语句之后,若所有语句都输完,后面跟着的"break;". 2.星号 ...
- 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;" 当然,可以通过将传参的方式来传递 ...
最新文章
- 黄聪:C#编写的Word操作类,有换页,添加表格,文本功能
- Hadoop HA+Federation 高可用联邦模式搭建指南
- EGOImageView 解析
- pat 乙级 1004 成绩排名(C++)
- Day08-函数(3)
- 复杂电路简化经典例题_【中考物理】电路简化的10大原则和7大步骤
- bzoj 3824: [Usaco2014 Dec]Guard Mark【状压dp】
- Oracle创建函数
- Cisco Packet Tracer思科模拟器单臂路由的配置
- 一个美国ECO PHD两年的学习总结
- 【面试笔试-c/c++】人民搜索2012校园招聘试题
- 二层交换机实现不同vlan通信
- HTML5 SVG生成图案背景样式的js插件
- walking机器人入门教程-离线建图-cartographer算法建图
- Python2—0704笔记
- (十四)商品详情页实现
- pure-specifier on function-definition
- c语言字母数字有多少种组合,C语言------排列组合 组合情况(重复和不重复)
- 第13期微生物组-宏基因组分析(线上/线下同时开课,2021.11)
- 神经网络学习小记录52——Pytorch搭建孪生神经网络(Siamese network)比较图片相似性