for格式
for i in [取值列表] ~ 数字 字符串 命令的结果 序列
do
命令
done
案例1:测试1-255有多少个ip地址在线
#!/bin/bash#案例:测试250-255有多少个ip地址在线sub_ip=120.77.146.for i in {250..254}do{all_ip=${sub_ip}${i}`ping -c1 -W1 ${all_ip} > /dev/null 2>&1`[[ $? -eq 0 ]] && echo "${all_ip}:可访问"}&donewaitecho "所有测试完成"#{}& 指的是多线程,很快就全部执行完了#wait 是等待所有线程执行完毕
案例2:输入用户名和数量,批量创建用户,密码为123456
#!/bin/bashread -p "请输入字符串" username[ -z ${username} ] && echo "请输入字符串" && exit 90001read -p "请输入一个整数" num[[ ! ${num} =~ ^[0-9]+$ ]] && echo "请输入整数" && exit 90002for i in `seq ${num}`douseradd ${username}${i} >/dev/null 2>&1echo "${username}${i} created sucess"echo 123456|passwd ${username}${i} --stdin|bash >/dev/null 2>&1done
