本文共 1381 字,大约阅读时间需要 4 分钟。
循环语句
for循环语句
需要指定一个变量以及可以取值的取值列表,针对每一个不同的取值执行相同的命令序列,直到变量值用尽,退出循环取值列表:for语句的执行条件,其中包括多个属性相同的对象,需要预先指定。
格式:for 变量名 in 取值列表do 命令序列done
注:
for语句的操作对象为用户指定名称的变量通过in关键字为该变量预先设置一个取值列表多个取值之间以空格作为分隔
do~done之间是一个循环体应用领域:
1、字符串取值列表#!/bin/bash#字符串取值列表for A in 电脑 汽车 手机 书包do echo "我要买$A"done
我在 根目录下的 /opt目录下创建一个的shell脚本名为for01.sh(如下图)
在vi便一种创建脚本A表示自定义变量名电脑汽车书包表示待取值$A表示依次取得值保存退出chmod +x for01.sh 为脚本添加执行权限
2、文件取值列表
#!/bin/bash#文件取值列表(命令执行取值列表)i=1for USER in $(cat /opt/a)do echo "$i号用户:$USER" let i++done
先在 /opt目录下创建个a文件写入一些名字
再创建for02.sh文件写入下图内容$(cat /opt/a)表示要从这个目录中取值保存退出为文件添加执行权限效果如下图3、扫描ip地址
#!/bin/bash#扫描ip地址for IP in 192.168.108.{1..254} //网段do ping -c 3 -i 0.2 -W 1 $IP &> /dev/null if [ $? -eq 0 ];then echo "$IP is up!!!" else echo "$IP is down!!!" fidone
创建for03目录
如下图这里面的192.168.0.是自己的网段加入执行权限后结果如下图4、批量添加用户
方法一:同一个姓的#!/bin/bash#批量添加用户for A in teacher{1..5} //添加五个用户do useradd $A echo 123 | passwd --stdin $A &> /dev/null #echo 123 是为用户设置密码done
创建for04
添加执行权限并运行如下图再cat /etc/passwd会显示用户
方法二:不同姓名
vi b.txtabcde#!/bin/bash#批量添加用户for A in $(cat /opt/b)do useradd $A echo 123 | passwd --stdin $A &> /dev/nulldone
创建for05如下图
为文件添加执行权限并运行完成后在cat /etc/passwd中查看转载于:https://blog.51cto.com/14195623/2348952