linux for循环

一、语法结构
1.语法结构
for 变量名 [ in 取值列表 ]
do
循环体
done
2.示例
自动循环创建指定数量的用户

[root@localhost ~]# vim addu.sh
#!/bin/bash
read -p "请输入你要创建的用户名:" name
read -p "请输入你要创建的用户数量: " num
for i in `seq $num`
do
        useradd $name$i
done
tail -$num /etc/passwd
[root@localhost ~]# bash addu.sh
请输入你要创建的用户名:u
请输入你要创建的用户数量: 7
u1:x:1016:1017::/home/u1:/bin/bash
u2:x:1017:1018::/home/u2:/bin/bash
u3:x:1018:1019::/home/u3:/bin/bash
u4:x:1019:1020::/home/u4:/bin/bash
u5:x:1020:1021::/home/u5:/bin/bash
u6:x:1021:1022::/home/u6:/bin/bash
u7:x:1022:1023::/home/u7:/bin/bash

二、案例1: ping测试主机
案例1: 通过循环工具,探测全网主机。将在线主机记录在文本up.txt中,不在线主机记录在文本down.txt中。

[root@localhost ~]# touch up.txt
[root@localhost ~]# touch down.txt
[root@localhost ~]# vim ping.sh
#!/bin/bash
> up.txt
> down.txt
read -p "请输入你要测试的网络地址:" ip
for i in {1..255}
do
{
web=$ip$i
ping -c1 -W1 $ip &> /dev/null && echo "$web up" >> up.txt || echo "$web down" >> down.txt
} &
done
[root@localhost ~]# bash ping.sh
请输入你要测试的网络地址:192.168.64.
[root@localhost ~]# cat down.txt
192.168.64.45 down
192.168.64.36 down
192.168.64.26 down
192.168.64.13 down
192.168.64.2 down
192.168.64.9 down
192.168.64.43 down
192.168.64.16 down

三、案例2: 通过用户列表文件创建用户
案例: 通过user.txt用户列表文件创建用户

[root@localhost ~]# vim u.sh
#!/bin/bash
for i in `cat $1`  //$1位置参数
do
useradd $i
done
[root@localhost ~]# vim user.txt
Tom
keke
lili
jiji
nana
[root@localhost ~]# bash u.sh user.txt
[root@localhost ~]# tail -5 /etc/passwd
Tom:x:1023:1024::/home/Tom:/bin/bash
keke:x:1024:1025::/home/keke:/bin/bash
lili:x:1025:1026::/home/lili:/bin/bash
jiji:x:1026:1027::/home/jiji:/bin/bash
nana:x:1027:1028::/home/nana:/bin/bash
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值