linux shell 循环控制语句练习

1. for创建20用户

用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10

#!/bin/bash
# **********************************************************
# * Author        : jiangzhier
# * Email         : ???
# * Create time   : 2023-01-03 06:11
# * Filename      : question_one.sh
# * Description   : 
# **********************************************************
read -p "Please enter user name: " user
read -p "Please enter user initial password: " pd
for i in {1..20}
do
        useradd $user$i
        echo "Create user $user$i successfully"
        echo "$user$i:$pd" | chpasswd
        echo "Initial password changed successfully."

done

2. for ping测试指网段的主机

网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 — 192.168.2.20

#!/bin/bash
# **********************************************************
# * Author        : jiangzhier
# * Email         : ???
# * Create time   : 2023-01-03 06:18
# * Filename      : question_two.sh
# * Description   : 
# **********************************************************
read -p "请输入网段(如192.168.2):" netwk
# 错误判断
for i in `seq 3`
do
	a=`echo $netwk | cut -d "." -f$i`
	if [ $a -lt 0 ] && [  $a -gt 254 ];then
    		echo "input error"
  	fi
done
for j in `seq 10 20`
do
	if ping -c 2 $netwk.$j &>/dev/null;
	then
		echo "$netwk.$j is up" >> /tmp/host_up.txt
	else
		echo "$netwk.$j is down" >> /tmp/host_down.txt
  	fi
done

3. 使用for实现批量主机root密码的修改

成功或失败都必须记录
提示:主机IP存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令
实现公钥认证

猜你喜欢

转载自blog.csdn.net/m0_51828898/article/details/128527348