1创建20用户 (多种)
用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10
for
#!/bin/bash
#创建20用户(循环到20{01..20})
#用户自行创建(read -p)
read -p "请输入用户名:" use
read -p "请输入密码:" pswd
for i in {01..20};do
user=$use$i
if ! id -u $user &> /dev/null
then
useradd $user
echo "$pswd" | passwd --stdin $user &> /dev/null
else
echo "$user 已创建完成"
fi
done
测试
由于文件中编辑的是{01..20},所以就显示的是h101~h120
顺便附上删除(while语句)
#!/bin/bash
read -p "输入用户名" name
i=1
while [ $i -le 20 ]
do
if [ $i -le 9 ]
then
user="$name""0""$i"
else
user=$name$i
fi
if id -u $user &>/dev/null
then
userdel -r $user
else
echo "已删除"
fi
let i++
done
测试
cat /etc/passwd
2.测试你当前主机该网段内有哪些主机是UP,哪些是down的。
#!/bin/bash
#循环到20退出,定义变量i,从1循环,每一次i自行+1
#每个循环ping一次IP,能通为up,不通为down
#防止出错,每个循环ping2次(ping -c)
#减少等待时间,提升测试效率(ping -i)
#控制timeout时间为1s
i=1
while [ $i -le 20 ];do
ping -c2 -i0.2 -W1 192.168.40.$i &>/dev/null
if [ $? -eq 0 ];then
echo "192.168.40.$i is up"
else
echo "192.168.40.$i is down"
fi
let i++
done
由于测试当前主机网段内所有主机,显示时间过长,就只写了20个,测试全网的话改成
while [ $i -le 254 ]即可
附:ping的参数说明(源自菜鸟教程菜鸟教程 - 学的不仅是技术,更是梦想!)
对初学者及其友好
- -d 使用Socket的SO_DEBUG功能。
- -c <完成次数> 设置完成要求回应的次数。
- -f 极限检测。
- -i<间隔秒数> 指定收发信息的间隔时间。
- -I<网络界面> 使用指定的网络接口送出数据包。
- -l<前置载入> 设置在送出要求信息之前,先行发出的数据包。
- -n 只输出数值。
- -p<范本样式> 设置填满数据包的范本样式。
- -q 不显示指令执行过程,开头和结尾的相关信息除外。
- -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
- -R 记录路由过程。
- -s<数据包大小> 设置数据包的大小。
- -t<存活数值> 设置存活数值TTL的大小。
- -v 详细显示指令的执行过程。
- -w <deadline> 在 deadline 秒后退出。
- -W <timeout> 在等待 timeout 秒后开始执行。
bash测试一下
完成