shell脚本循环--for循环

语法结构:

for    变量名      [ in 取值列表 ]
do
循环体
done
{

}&(脚本里面有一条命令特别慢 可以用{ }& 让他进入后台执行  也叫高并发)

自动循环创建10个用户

for i in    {1..10}      
#(i 就是个变量  也可以是别的 in 后面    取值范围有很多种写法)
do
        useradd  "user$i"
done
--------------------------------------------------

for i in $(seq 1 10)  (seq  数数的)
也可以哦
for i in `seq 10`

通过用户列表文件创建用户

#!/bin/bash
for user in `cat $1`  (读取文件的内容   ·` cat $1`(位置变量) 在执行的脚本后面 跟上文件名就行)
do
useradd $user
echo "$user is created"
done
[root@lwq ~]# sh user.sh  user.txt

或者

#!/bin/bash
for user in `cat user.txt` 
do
useradd $user
echo "$user is created"
done
[root@lwq ~]# sh user.sh

ping测试在线主机
通过循环工具,探测全网主机。将在线主机记录在文本中。
规定好网段

#!/bin/bash
#ping
for i  in {2..254}
do
{
ip=192.168.100.$i
ping -c1  $ip &>/dev/null
 if [ $? -eq 0 ] ;then
	echo "$ip up" >>  up.txt
else
	echo "$ip down" >>down.txt
fi
}&
done

由用户输入网段

#!/bin/bash
#ping
read -p "请输入你要测试的网段:" ipip
for i  in {2..254}
do
{
ip=$ipip$i
ping -c1  $ip &>/dev/null
if [ $? -eq 0 ] ;then
        echo "$ip up" >>up.txt
else
        echo "$ip down" >>down.txt
fi
}&
done

从文件读取网段
[root@tianyun scripts]# cat ip.txt
172.16.8.100
172.16.8.4
172.16.100.254

#!/bin/bash
#执行前清空文件
>up.txt
>down.txt
for ips in `cat ip.txt`  
#(读取文件的内容   ·` cat $1`(位置变量) 在执行的脚本后面 跟上文件名就行)
do
{
ping -c1  $ips &>/dev/null
 if [ $? -eq 0 ] ;then
	echo "$ips up" >>  up.txt
else
	echo "$ips down" >>down.txt
fi
}&
done
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值