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}:可访问"
}&
done
wait
echo "所有测试完成"
#{}& 指的是多线程,很快就全部执行完了
#wait 是等待所有线程执行完毕
案例2:输入用户名和数量,批量创建用户,密码为123456
#!/bin/bash
read -p "请输入字符串" username
[ -z ${username} ] && echo "请输入字符串" && exit 90001
read -p "请输入一个整数" num
[[ ! ${num} =~ ^[0-9]+$ ]] && echo "请输入整数" && exit 90002
for i in `seq ${num}`
do
useradd ${username}${i} >/dev/null 2>&1
echo "${username}${i} created sucess"
echo 123456|passwd ${username}${i} --stdin|bash >/dev/null 2>&1
done