ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【RHCA+】for循环

2026/8/8 12:07:56 拓冰建站 浏览量
【RHCA+】for循环 “ 目录RHCA - 5 Shell脚本 - 12 for循环 ”循环语句用来多次重复执行相同的命令执行前需要给变量赋值满足判断条件时才会执行语法格式作用for 变量名 in 值1 值2 .. 值Ndo命令序列done匹配条件时循环执行动作直接给变量赋值时赋值的次数就是循环的次数多个值之间用空格分隔for ((变量;条件;运算))do命令序列done匹配条件时循环执行动作先初始化变量值再执行运算操作最后通过条件判断是否执行1、判断该用户是否存在不存在则创建[rootwuzuniao ~]# vim 4.txt #创建用户列表每个用户单独一行abc[rootwuzuniao ~]# vim 4.sh#!/bin/bashread -p Enter The Users Password : PASSWD #用read获取输入的密码值赋值给PASSWD变量-p可显示提示信息for UNAME in 4.txtdoid $UNAME /dev/null #查看用户信息执行成功结果为0失败为非0方便下面用$?变量判断/dev/null为黑洞文件输出到里面信息都会消失避免执行结果回显到标准输出if [ $? -eq 0 ]thenecho $UNAME , Already existselseuseradd $UNAMEecho $PASSWD | passwd --stdin $UNAME /dev/nullecho $UNAME , Create successfidone[rootwuzuniao ~]# bash 4.sh #执行脚本Enter The Users Password : 1 #输入密码a , Create successb , Create successc , Create success[rootwuzuniao ~]# tail -3 /etc/passwd #查看最新的账号信息可以看到自动建好了a:x:1001:1001::/home/a:/bin/bashb:x:1002:1002::/home/b:/bin/bashc:x:1003:1003::/home/c:/bin/bash[rootwuzuniao ~]#2、批量测试主机是否在线[rootwuzuniao ~]# vim 5.txt #创建主机列表文件每个地址单独一行192.168.1.1192.168.1.2192.168.1.3[rootwuzuniao ~]# vim 5.sh#!/bin/bashHLIST$(cat ~/5.txt) #从文件中读取IP地址并赋值给HLIST变量for IP in $HLISTdoping -c 3 -i 0.2 -W 3 $IP /dev/null #通过ping命令的返回值来测试主机是否在线成功为0是否被非0if [ $? -eq 0 ]thenecho Host $IP is On-line.elseecho Host $IP is Off-line.fidone[rootwuzuniao ~]# bash 5.sh #执行脚本Host 192.168.1.1 is On-line.Host 192.168.1.2 is Off-line.Host 192.168.1.3 is On-line.[rootwuzuniao ~]#3、给变量赋值并输出每次赋的值[rootwuzuniao ~]# vim 6.sh #给变量赋值并输出每次赋的值#!/bin/bashfor A in {2..6}doecho $A;done[rootwuzuniao ~]# bash 6.sh #执行脚本23456[rootwuzuniao ~]#4、输出99乘法表[rootwuzuniao ~]# vim 9.sh #输出99乘法表#!/bin/bashfor i in {1..9}dofor ((j1;jdoprintf %-8s $j*$i$((j*i))doneechodone[rootwuzuniao ~]# bash 9.sh #执行脚本1*111*22 2*241*33 2*36 3*391*44 2*48 3*412 4*4161*55 2*510 3*515 4*520 5*5251*66 2*612 3*618 4*624 5*630 6*6361*77 2*714 3*721 4*728 5*735 6*742 7*7491*88 2*816 3*824 4*832 5*840 6*848 7*856 8*8641*99 2*918 3*927 4*936 5*945 6*954 7*963 8*972 9*981[rootwuzuniao ~]#