1. 使用case实现成绩优良差的判断
#!/bin/bash
read -p "请输入成绩:" grade
case "$grade" in
8[5-9]|9[0-9]|100)
echo "优"
;;
7[0-9]|8[0-4])
echo "良"
;;
6[0-9])
echo "中"
;;
[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9])
echo "差"
;;
*)
echo "请输入0-100的整数!!!"
esac
2. for创建20用户
用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10
#!/bin/bash
read -p "请输入用户前缀:" prefix
read -p "请输入用户初始密码:" password
for i in {01..20}
do
username="${prefix}${i}"
useradd $username
echo $password | passwd --stdin $username
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 "请输入要测试的ip网段:" ip
for i in {10..20}
do
ping -c 2 $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 "修改后的密码:" pass
for ip in $(cat iplist)
do
ping -c2 $ip >/dev/null
if [ $? -eq 0 ]
then
ssh $ip echo $pass | passwd --stdin root >/dev/null
if [ $? -eq 0 ]
then
echo "success"
else
echo "fail"
fi
else
echo "该主机不存在"
fi
done