shell中的for循环语句
2021/10/23 7:12:48
本文主要是介绍shell中的for循环语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一:for语法
(1)语法一
for var in value1 value2 ...... do commands done
例1:直接赋值,循环输出1-9数字
for i in 1 2 3 4 5 6 7 8 9 do echo $i done
例2:命令赋值,循环输出1-9数字
for i in `seq 1 9` #seq是一个数数命令,seq 1 9代表从1开始数到9 do echo $i done
例3:赋值是一个字符串
for i in it\'s cool it\'s beautiful #需要转义 do echo "word: $i" done
(2)语法二
C式的for命令
for ((i=1;i<10;i++)) do echo $i sleep 1 #每秒一次 done
for循环使用多个变量
for ((a=0,b=10;a<10,b>0;a++,b--)) do echo -e "$a\t$b" done
无限循环\死循环
for ((;;)) do echo "hahahaha" done
二:循环控制语句
(1)sleep N 脚本执行到改步休眠N秒
例:倒计时计数器
echo -n "倒计时 :" for i in `seq 9 -1 1` do echo -n -e "\b$i" sleep 1 done echo
例:监控主机存活的脚本
for ((;;)) do ping -c1 $1 &>/dev/null #ping -c<完成次数>设置完成要求回应的次数;$1传递一个参数;&>/dev/null不输出结果 if [ $? -eq 0 ] then echo -e "`date +"%F %H:%M:%S:"`:$1 is \033[32m UP \033[0m" #设置时间,UP的颜色 else echo -e "`date +"%F %H:%M:%S:"`:$1 is \033[32m down \033[0m" fi sleep 5 #脚本节奏控制,生产环境建议1分钟以及以上 done
(2)continue跳出循环(跳出本次循环)
例:要求输出12346789
for ((i=1;i<10;i++)) do if [ $i -eq 5 ];then #本次循环到此结束,可以开始下一次循环 continue fi echo $i done
结果:
[root@localhost shell]# bash test8.sh 192.168.10.30
1
2
3
4
6
7
8
9
(3)break跳出循环(后续循环也跳出)
例1:要求用户输入一个字母,当输入M的时候退出
for ((;;)) do read -p "char: " ch if [ $ch == 'M' ] then #终止本次循环 break else echo "你输入的字符是:$ch" fi done
例2:内外循环
for((i=1;i<100;i++)) do echo "#loop $i" for ((;;)) do echo "haha" break #如果改成break 2,则执行一次直接跳出整个循环【内循环为1,外为2】 done sleep 3 done
这篇关于shell中的for循环语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南