![](https://i-blog.csdnimg.cn/blog_migrate/b79abc9e6f4eb7682ed59d7e37fb84de.png)
1.使用shell脚本完成20个账户的创建
1.1编写for1的shell脚本
[root@server ~] vim for1.sh
#!/bin/bash
read -p "请输入用户账户名前缀:" prefix
read -p "请输入用户的密码:" passwd
for ((i=1;i<=20;i++))
do
user=$prefix$i
if id $user &> /dev/null
then
echo "$user 存在"
else
useradd $user
if [ $? -eq 0 ]
then
echo "$passwd" | passwd --stdin $user &> /dev/null
else
echo "用户创建失败"
exit
fi
fi
done
![](https://i-blog.csdnimg.cn/blog_migrate/2ffa16c18ab878b554b743c0a7fe6309.png)
1.2运行for1脚本
[root@server ~] bash for1.sh
![](https://i-blog.csdnimg.cn/blog_migrate/0d8862f976335de0be11f85630c81c61.png)
1.3查看账户是否创建完成
[root@server ~] cat /etc/passwd | tail -20
![](https://i-blog.csdnimg.cn/blog_migrate/99983aa93f92d046c16e297856f717ee.png)
2.编写一个脚本使用for循环,并通过ping命令测试网段的主机连通性
2.1编写for2脚本
[root@server ~] vim for2.sh
#!/bin/bash
read -p "" ip
read -p“请输入网段:” ip
for ((i=125;i<=135;i++))
do
IP="$ip"."$i"
if ping -c 2 -w 3 $IP &> /dev/null
then
echo "$IP is up" >> /tmp/host_up.txt
else
echo "$IP is down" >> /tmp/host down.txt
fi
done
echo"up ip:"
cat /tmp/host_up.txt
echo
echo"down ip:"
cat /tmp/host_down.txt
![](https://i-blog.csdnimg.cn/blog_migrate/7271e61a8259c259abc1767381f42d83.png)
2.1运行for2脚本
[root@server ~] bash for2.sh
![](https://i-blog.csdnimg.cn/blog_migrate/b61ba11d746222096a91b9feb801a5c7.png)
2.3查看俩个txt文档内容
[root@server ~] cat /tmp/host_up.txt
![](https://i-blog.csdnimg.cn/blog_migrate/bcc4d0ec3e2a8594364cdf6f6a262286.png)
[root@server ~] cat /tmp/host_down.txt
![](https://i-blog.csdnimg.cn/blog_migrate/762ffb66bc0a1754d204de45a456dd6e.png)
3.使用for循环实现批量主机root密码的修改
3.1先打开多台虚拟机
![](https://i-blog.csdnimg.cn/blog_migrate/d206c4f3bc044d1f62011993fa6a04d2.png)
3.2在主机端编写一个存放其他俩台设备ip地址的文档
[root@server ~] vim ip.txt
![](https://i-blog.csdnimg.cn/blog_migrate/7963f843081ac5c46c1da9c7af897efe.png)
3.3建立免密sshd登录
[root@server ~] ssh-keygen -t rsa #一直回车
![](https://i-blog.csdnimg.cn/blog_migrate/dd25bc61be02f25c62875babcf6be684.png)
[root@server ~] ssh-copy-id root@192.168.74.130 #根据提示输一个yes和密码
![](https://i-blog.csdnimg.cn/blog_migrate/f7c1aa4c0f0a2573d7c7899ce93dc1fc.png)
[root@server ~] ssh-copy-id root@192.168.74.131 #根据提示输一个yes和密码
![](https://i-blog.csdnimg.cn/blog_migrate/5adba2015db9cd084d563884fc4ff458.png)
3.4编写shell脚本
[root@server ~] vim for3.sh
#!/bin/bash
read -p "输入密码:" passwd
for i in `cat ip.txt`
do
ssh $i "echo '$passwd' | passwd --stdin root"
done
![](https://i-blog.csdnimg.cn/blog_migrate/eb372759f8829bbc54cb81d511017d88.png)
3.5运行for3脚本并进行免密登录测试
[root@server ~] bash for3.sh
![](https://i-blog.csdnimg.cn/blog_migrate/b98af09372d225b420f32bd2bb4baa90.png)
[root@server ~] ssh root@192.168.74.130
![](https://i-blog.csdnimg.cn/blog_migrate/a928cc87fbfceb0867996549885a13cc.png)