shell脚本中select循环语句用法
发布日期:2021-06-23 04:43:34
浏览次数:4
分类:技术文章
本文共 2994 字,大约阅读时间需要 9 分钟。
shell脚本中select循环语句
1. 脚本中select的语法格式
select VAR in LISTdo command1 command2 ... ... commandNdone
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 :do select choice in disk_partion filesystem cpu_load mem_util quit do case "$choice" in disk_partion) #显示磁盘分区信息 fdisk -l break; ;; filesystem) #查看磁盘的使用率 df -h break; ;; cpu_load) #查看CPU的使用率 uptime break; ;; mem_util) #查看内存使用情况 free -m break; ;; quit) exit ;; *) echo "Input error!!!" ;; esac echo "------------------------------------------" donedone
脚本的运行结果如下:
root@ubantu:/mnt/hgfs/em嵌入式学习记录/shell# ./systemInfo.sh 1) disk_partion 3) cpu_load 5) quit2) filesystem 4) mem_utilyour choice is [5 for quit ]: 2Filesystem Size Used Avail Use% Mounted onudev 946M 0 946M 0% /devtmpfs 196M 1.8M 195M 1% /run/dev/sda1 20G 15G 3.9G 80% /tmpfs 980M 0 980M 0% /dev/shmtmpfs 5.0M 4.0K 5.0M 1% /run/locktmpfs 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/1705vmhgfs-fuse 489G 35G 454G 8% /mnt/hgfstmpfs 196M 16K 196M 1% /run/user/121tmpfs 196M 36K 196M 1% /run/user/1000/dev/sr0 1.9G 1.9G 0 100% /media/toney/Ubuntu 18.04.2 LTS amd64tmpfs 196M 0 196M 0% /run/user/0/dev/loop17 233M 233M 0 100% /snap/nextcloud/204981) disk_partion 3) cpu_load 5) quit2) filesystem 4) mem_utilyour choice is [5 for quit ]:
转载地址:https://blog.csdn.net/s2603898260/article/details/105759268 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年03月23日 13时51分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
信息抽取_CodingPark编程公园
2019-04-26
如何理解输入流输出流?_CodingPark编程公园
2019-04-26
Python类|实例|方法|继承_专题_CodingPark编程公园
2019-04-26
机器学习心得_CodingPark编程公园
2019-04-26
自然语言工程师心得概述_CodingPark编程公园
2019-04-26
for循环那点事儿_CodingPark编程公园
2019-04-26
Int -> List | List -> Int _ CodingPark编程公园
2019-04-26
如何在junit中使用SpringFramework的Ioc容器
2019-04-26
一个案例教你理解Spring面向切面编程(Spring Aop)
2019-04-26
手把手教你整合SSM框架
2019-04-26
自己造个简单数据校验的注解@Value和@Mail
2019-04-26
Poj百练 4148:生理周期 (分类:枚举)
2019-04-26
Java如何读写注册表
2019-04-26
java如何利用模板文件生成word文档
2019-04-26
java读写xlsx格式的MS Excel文件
2019-04-26
vue的一些基础知识点
2019-04-26
webpack错误记录(不定期更新)
2019-04-26
Poj百练 2692:假币问题 (分类:模拟)
2019-04-26
SpringBoot实现一个文件上传服务
2019-04-26
前后分但文件上传与多文件上传,前端实现
2019-04-26