shell 学习之until语句

简介:

shell循环控制语句:

for、while、until、select

这篇文章我们来学习下until的用法

Note:until语句和while语句正好相反,while语句判断条件为真时,进行循环操作

而until则是判断条件为假时,进行循环操作

一、until语法结构

until 条件测试
do 
   命令区域
done

二、until常见用法

借用case文章中的示例:我们修改下来使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[root@lovelace  case ] # cat 2showmenu.sh
#!/bin/bash
#Version:0.1.1
#Auther:lovelace
#pragram:show menu and wait user choice
#
#difine an function to display the menu
showmenu(){
echo  -n  '+----------'
echo   -n -e  "\033[1;32mshowmenu\033[0m"
echo  '-----------+'
echo  -e  "| \033[31md|D) show disk information\033[0m  |"
echo  -e  "| \033[31mm|M) show memory usage\033[0m      |"
echo  -e  "| \033[31ms|S) show swap usage\033[0m        |"
echo  -e  "| \033[31mq|Q) quitting\033[0m               |"
echo  -n  '+-------------'
echo   -n -e  "\033[5,33mEND\033[0m"
echo  '--------------+'
}
#call showmenu function
echo
showmenu
echo
#read the argument for user input
read  -p  "Your choice is:"  choice
#use until statement to loop
until  "$choice"  ==  "q"  -o  "$choice"  ==  "Q"  ]; do
case  $choice  in
d|D)
echo  "Disk information:"
df  -h
;;
m|M)
echo  "Memory information:"
free  -m |  grep  "Mem"
;;
s|S)
echo  "Swap information:"
free  -m |  grep  "Swap"
;;
q|Q)
echo  "quitting...."
exit  8
;;
*)
echo  "Unknow argument."
;;
esac
#call showmenu function again
echo
showmenu
echo
#read user input again
read  -p  "Please select again:"  choice
done

 

总结:从这几篇文章中可以看出来,其实每个语句都可以实现同样的功能,而有区别的是语句中的判断条件的不同,所以要想熟练的写出能在实际生产环境中运行的脚本,基础知识一定要打牢固了,从一系列文章中我们不能看出几点:

1、基本命令的使用

2、变量的灵活运用

3、shell各种语句的灵活掌握

4、各种条件判断的掌握

5、正则表达式的掌握(这个在shell编程中至关重要)

6、长期实战经验的积累

总的来说:学习shell,三点:多练、多看、多总结

练:尽可能和实际生产环境靠拢,因为我们学习shell不是玩的,而是要实现某种我们需要的功能的

看:看别人写的好的脚本,看系统上的脚本,看被大家津津乐道的脚本

总结:在自我练习的过程中,碰到文件要及时记录,并查找相关文档或咨询他人来破解谜团,看的时候觉得经典的语句或命令要做记录,以归纳总结为自己的知识。。。。

 

PS:可能有人会说,你这是什么玩意额,纯属自娱自乐,写的程序和实际生产环境一点都不搭嘎,学了有毛用额,对此,我只能笑而不语...... 



本文转自lovelace521 51CTO博客,原文链接:http://blog.51cto.com/lovelace/1212091,如需转载请自行联系原作者

相关文章
|
6月前
|
存储 运维 Shell
shell中for while until 三种循环的用法
shell编程中,有几种常见的循环结构,包括for循环、while循环和until循环,总的来说,循环shell编程中扮演着至关重要的角色,它们使得自动化任务变得更加容易,提高了效率,并且可以处理各种各样的编程需求。
314 13
shell中for while until 三种循环的用法
|
6月前
|
关系型数据库 MySQL Shell
shell学习(十七) 【mysql脚本备份】
shell学习(十七) 【mysql脚本备份】
50 0
|
1月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
62 12
|
6月前
|
Linux Shell 文件存储
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
185 1
|
4月前
|
Shell Linux
Shell 脚本编程学习
Shell 脚本编程学习
36 0
|
5月前
|
人工智能 运维 中间件
Linux-shell简单学习
Linux-shell简单学习
30 0
|
6月前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
6月前
|
机器学习/深度学习 Shell Linux
shell 学习记录
shell 学习记录
31 0
|
6月前
|
Shell
shell学习(六) 【case多条件分支语句】
shell学习(六) 【case多条件分支语句】
94 1
|
6月前
|
Shell 应用服务中间件 nginx
shell学习(七) 【shell 函数】
shell学习(七) 【shell 函数】
41 1