linux怎么查看本机内存大小
313
2022-11-04
shell循环语句与多重循环
shell循环语句与多重循环
一、echo命令----------输出字符串或提取Shell变量的值
1、格式
echo 【参数】【字符串】
2、常用参数
常用参数 | 说明 |
---|---|
-n | 表示输出不换行 |
-E | 禁止反斜杠转义,与-e参数功能相反 |
\b | 相当于退格键,但前提是“\b”后存在字符 "\b"表示删除前一个字符 "\b\b"表示删除前两个字符 |
---|---|
\c | 不换行输出。后面无字符时相当于 echo -n "\c"后有字符时,将不被输出 |
\n | 换行,但是换行后的新行从“\n”处开始另起一行 |
\f | 换行,但是换行后的新行的开头位置连接着上一行的行尾 |
---|---|
\v | 与\f相同 |
\t | 转义后表示插入tab,即横向制表符 |
\r | 光标移至行首,但不换行,相当于使用“\r”以后的数字覆盖之前相等长度的字符 |
---|---|
\ | 表示插入“\”本身 |
-e | 输出转义字符,将转义后的内容输出到屏幕上 |
---|
二、for循环语句
1、读取不同的变量值,用来逐一执行同一组命令
for 变量名 in 取值列表
do
命令序列
done
2、遍历
for i in {1..10}
或$(seq 1 10)
或 ((i=1; i<=10; i++))
do
echo $i
done
3、执行流程
首先将取值列表中的第一个取值赋予给变量,然后执行循环体中的命令序列。 然后将第二个取值赋予给变量,执行循环命令直到所有取值用完。 最后跳至done,表示循环结束
4、示例
5.检测指定范围主机是否通信,并将通信主机IP输出到文件host_ip 中。
shell实现多线程操作,加快进程。
在命令后面增加&标记,意思是将进程丢到后台。在Shell中,后台命令之间是不区分先来后到的关系。
wait会等待所有的后台程序执行完毕再执行后面的Shell语句;如果没有wait,后面的Shell语句不会等待后台进程的结束,一些对前面后台进程有依赖关系的命令执行会不正确。
丢到后台运行可以加快进程
6.将一个0-255之间的十进制转换成二进制
三、While循环语句
重读测试某个条件,只要条件成立则反复执行,直到校检不在满足。
循环体内的命令序列中应包括修改测试条件的语句,以便在适当的时候使测试条件不再满足,从而结束循环
1、流程:
先进行条件测试,若条件成立执行do....done循环体中的命令序列;直到while 条件测试操作不再满足,跳至done结束循环
2、格式:
while 条件表达式
do
命令序列
3、示例
四、until循环语句
1、流程:
先进行条件测试,若条件不成立,执行do....done循环体中的命令序列;直到until 条件测试操作满足,跳至done结束循环
2、格式:
while 条件测试操作do命令序列done
3、示例:
五、shell脚本特殊命令和多重循环
1、exit、break、continue
(1)exit
用于退出脚本进程。
(2)break
用于跳出单(n)层循环。
(3)continue
用于终止某次循环中的操作,但是不会完全终止整个循环。
2、多重循环
如果循环语句的循环体中又出现循环语句,就构成多重循环结构。一般常用的有二重循环和三重循环。
3、示例
(1)双重循环
脚本命令:
(2)加入exit
脚本命令:
(3)加入break
break后面不加数字,默认跳出当前循环。加数字几,就跳出几层循环。
脚本命令:
(4)加入continue
continue与break的区别在于,continue是停止取值范围内的循环命令,不会如break一样停止整个循环
脚本命令:
4、补充知识点
(1)IFE
(2)for循环默认取值是通过(空格,换行,制表符)
脚本命令:
(3)使用while读取
(4)分隔文件读取
将文件分隔,每五十行存入一个新文件(多出的不满五十也算一个文件)。
脚本命令:
#!/bin/basha=0num=1cat WuShi | while read idolet a++b=$[$a % 50]if [ $b -eq 0 ]thenecho $i >> /jiaobenXunHuan/WuShi$numlet num++elseecho $i >> /jiaobenXunHuan/WuShi$numfidone
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~