1、 使用case实现成绩优良差的判断
#!/bin/bash
read -p "please input the grade:" grade
case "$grade" in
8[5-9]|9[0-9]|100)
echo "A"
;;
7[0-9]|8[0-5])
echo "B"
;;
6[0-9])
echo "C"
;;
*)
echo "D"
esac
2、for创建20用户
用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10
#!/bin/bash
read -p "please input qianzhui:" name
read -p "please input passwd:" password
for ((i=1;i<=20;i++))
do
if [ $i -lt 10 ];then
user="$name"0$i
else
user=$name$i
fi
if ! id -u $user &>/dev/null ; then
useradd $user
echo "$password" | passwd --stdin $user &>/dev/null
else
echo "$user is exists"
fi
done
3、 for ping测试指网段的主机
网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 — 192.168.2.20
UP: /tmp/host_up.txt
Down: /tmp/host_down.txt
#!/bin/bash
read -p "please input the ip duan :" ip
for i in {10..20}
do
ping -c3 $ip.$i &> /dev/null
if [ $? -eq 0 ] ;then
echo "$ip.$i is up " >> /tmp/host_up.txt
else
echo "$ip.$i is down " >> /tmp/host_down.txt
fi
done
4、 使用for实现批量主机root密码的修改
成功或失败都必须记录
提示:主机IP存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令
实现公钥认证
ssh-keygen 在用于管理的主上生成密钥对
ssh-copy-id -i 192.168.2.3
#!/bin/bash
read -p "changed passwd: " password
num=`cat ip | wc -l`
for ((i=1;i<=$num;i++))
do
ip=`head -$i ip | tail -1 | awk '{print $1}'`
port=`head -$i ip | tail -1 | awk '{print $2}'`
ping -c2 $ip &>/dev/null
if [ $? -eq 0];then
ssh -p $port root$ip echo $password | passwd --stdin root >/dev/null
if [ $? -eq 0];then
echo "success"
else
echo "fail"
fi
else
echo "not exist"
fi
done