Shell编程的循环语句与函数
在开始前要先了解下echo的各种用法
echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上
常用的转义字符:
\b相当于退格,前提是\b后面存在字符
\c 不换行输出
不换行输出,在“\c”后面不存在字符的情况下,作用相当于echo -n
,但是当“\c”后面仍然存在字符时,“\c”后面的字符将不会被输出
\n换行输出
换行输出,被输出的字符从\n处开始另起一行
\f \v 换行输出
换行输出,但是换行后新行的开头位置连接着上一行的行尾,前提是后面要有字符,\V和\f相同
\t 制表符显示
转义后表示插入tab即横向制表符
\r光标移至行首不换行
光标移至行首,但是不换行,相当于使用“\r”之后的字符覆盖“\r”之前同等长度的字符,但是当“\r”后面不存在任何字符时,“\r”前面的字符不会被覆盖;当“\r”后面存在的字符大于前面时,“\r”前面的字符全部会被后面替代,按后面字符的长度
\\表示插入 "\ "本身
使用echo直接将yum本地源的配置命令重定向到配置文件内
echo删除,截取,增加字符的用法
循环语句
for循环语句
while循环语句
untli循环语句
for循环语句结构
读取不同的变量值,用来逐个执行同一组命令
格式:for 变量名 in 取值列表 for 收件人 in 邮件地址列表
do do
命令序列 发送邮件
done done
while循环和until循环
while循环可以不断的执行某个程序,直到用户设置的条件完成为止,所以重点是条件,这种不定循环最常见的就是下面这两种格式了
格式:
while循环:while的中文是【当…时】,所以这种方式说的是,当判断式/命令序列的条件成立时,就进行循环,直到命令序列/程序段落的条件不成立才停止
while [ 条件测试操作 ]
do #do代表循环的开始
判断式/命令序列
done #done代表循环的结束
until循环:这种方式恰恰和while循环相反,它指的是当判断式/命令序列的条件成立时,就终止循环,否则就会持续循环程序段落
until [ 条件测试操作 ]
do
判断式/命令序列
done
使用while完成猜数字游戏(0到1000之间的整数),可以通过RANDOM获取随机数,猜对结束,猜错继续
最后要输入yes或者no退出,不然程序会一直进行下去
嵌套循环
在循环内部再使用一个循环称为嵌套循环
格式:
循环语句中的break、exit和continue
break的使用
当满足条件的情况下break会跳出当前循环体
exit的使用
当满足条件的情况下exit会直接退出当前脚本