- 使用case实现成绩优良差的判断
[root@localhost test]# cat 1.sh
#!/bin/bash
read -p "请输入成绩:" number
case "$number" in
9[0-9]|100)
echo "成绩:优秀"
;;
8[0-9])
echo "成绩:良好"
;;
7[0-9])
echo "成绩:中等"
;;
[1-6][0-9]|0|[0-9])
echo "成绩:差!"
;;
*)
echo "请输入正确的数值"
exit;
esac
[root@localhost test]# bash 1.sh
请输入数值在0-100的范围内98
成绩:优秀
- for创建20用户
用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10
[root@localhost test]# cat 2.sh
#!/bin/bash
read -p "输入用户前缀:" user
read -p "输入初始密码:" passwd
for i in `seq -w 1 20`
do
user=$user$i
passwd=$passwd$i
echo "$user成功创建用户$user"
useradd $user
echo "$passwd" | passwd --stdin $user &> /dev/null
done
- for ping测试指网段的主机
网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 - - -
192.168.2.20
UP: /tmp/host_up.txt
Down: /tmp/host_down.txt
[root@localhost test]# cat 3.sh
#!/bin/bash
read -p "主机:" ip
for i in "$ip".{10..20}
do
if ping -c 1 -w2 $i &>/dev/null
then
echo "complete!" &> /tmp/host_up.txt
else
echo "$i failed!" &> /tmp/host_down.txt
fi
done
- 使用for实现批量主机root密码的修改
成功或失败都必须记录
提示:主机IP存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令
实现公钥认证
#ssh-keygen 在用于管理的主上生成密钥对
#ssh-copy-id -i 192.168.2.3
[root@localhost test]# vim ipfile
192.168.159.132
[root@localhost test]# cat 4.sh
#!/bin/bash
ssh-keygen -f /root/.ssh/id_rsa -P '' -q $>/dev/null
for ip in `cat ipfile`
do
echo $ip
ssh-copy-copy-id root@$ip
done
for ip in `cat ipfile`
do
echo $ip
ssh root@ip "echo redhat | passwd --stdin root" &>/dev/null
if [ "$?" -eq 0 ]
then
echo "host $ip successfully update passwd"
else
echo "host $ip error update passwd"
fi
done