44、shell脚本编程-循环语句

时间:2022-10-14 18:10:54

for循环

格式

for NAME [in WORDS ... ] ; do COMMANDS; done
for 变量名 in 列表;do
循环体
done

for 变量名 in 列表
do
循环体
done

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

另外一种for循环格式

for (( exp1; exp2; exp3 )); do COMMANDS; done 
for ((控制变量初始化;条件判断表达式;控制变量的修正表达式))
do
循环体
done
等同于
Equivalent to
(( EXP1 ))
while (( EXP2 )); do
COMMANDS
(( EXP3 ))
done

44、shell脚本编程-循环语句

for 循环生成列表的方式

整数列表  {1..10}  $(seq 10) `seq 10`
返回命令列表 $(command)
支持通配符 *.sh等
变量应用 $@ $* $#

for循环扫描网段判断机器存活

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

while循环

格式

while CONDITION; do COMMANDS; done
while CONDITION; do
循环体
done
CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true”,则执行一次循环;直到条件测试状态为“false”终止循环,因此:CONDTION一般应该有循环控
制变量;而此变量的值会在循环体不断地被修正进入条件:CONDITION为true退出条件:CONDITION为false

until循环

格式

until COMMANDS; do COMMANDS; done
until CONDITION; do
循环体
done
说明:
进入条件: CONDITION 为false
退出条件: CONDITION 为true

循环控制语句

continue

continue [n]:提前结束第几层循环,而直接进入下一轮判断循环,当前层为1,往外嵌套为2,默认值为1;

格式

while CONDITION1; do
CMD1
...
if CONDITION2; then
continue
fi
CMDn
...
done

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

break

break [n] 提前结束第n层整个循环,最内层为1层

格式:

while CONDITION1; do
CMD1
...
if CONDITION2; then
break
fi
CMDn
...
done

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

shift

shift [n] 用于可以将参数列表list左移次数,默认为1次;参数列表list一旦被移动,最左端哪个参数就从列表删除

格式

while [ $You can't use 'macro parameter character #' in math mode# -gt 0 ] # or
(( $# > 0 ))
do
echo $*
shift
done

44、shell脚本编程-循环语句

while read及循环select菜单

while read

while read 可以变量文件或文本的每一行

格式

while read line; do
循环体
done < /PATH/FROM/SOMEFILE

44、shell脚本编程-循环语句

44、shell脚本编程-循环语句

select

格式

select NAME [in WORDS ... ;] do COMMANDS; done
select variable in list ;do
循环体命令
done
说明:
select 循环主要用于创建菜单,按数字顺序排列的菜单项显示在标准错误上,并显示 PS3 提示符,等待用户输入用户输入菜单列表中的某个数字,执行相应的命令用户输入被保存在内置变量 REPLY 中
select 是个无限循环,因此要用 break 命令退出循环,或用 exit 命令终止脚本。也可以按 ctrl+c退出循环
select 经常和 case 联合使用与 for 循环类似,可以省略 in list,此时使用位置参

44、shell脚本编程-循环语句