由于添加的用户名采用统一的其中因此可使用user+数字方式实现,
前缀usero0由用户手动输入,后缀的数字可通过循环逐次递增:因为用户名和密码相
同,可在创建用户后,使用代表用户名的变量为用户设置密码:此外需对命令的执行
情况进行判断,若密码设置失败,应给出提示。
先确定输入字符串
就是用户名前的qwe类似的
#!/bin/bash
#addusers
echo "------add 9 users------"
echo "please input a string:"
read user
然后添加用户 for循环
for i in {1..9}; do
username=$user$i
添加上了useri
即user0…9
判断
/dev/null :
在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。
stdin,标准输入,通过前一个管道的数据,作为口令输入,一般用在 shell script 中
if useradd $username> /dev/unll; then
echo "$username"|passwd --stdin $username
如果username重定向空设备 然后
这里定义passwd就是输入 username
最后判断账号密码是否相同
if [ $? -eq 0 ]该语句是什么含义?
$0: shell或shell脚本的名字 $*:以一对双引号给出参数列表
$@:将各个参数分别加双引号返回
$#:参数的个数 $_:代表上一个命令的最后一个参数
$$:代表所在命令的PID
$!:代表最后执行的后台命令的PID $?:代表上一个命令执行后的退出状态
if [ $? -eq 0 ]该语句是什么含义? 解:代表上一个命令执行后的退出状态
if [ $? -eq 0 ]; then
echo "add $username successful"
else
echo "$username added,change password failure"
fi
else
echo "add $username failure"
fi
done
exit 0
检查上一个命令是否成功,然后输出成功
总代码:
#!/bin/bash
#addusers
echo "------add 9 users------"
echo "please input a string:"
read user
for i in {1..9}; do
username=$user$i
if useradd $username> /dev/unll; then
echo "$username"|passwd --stdin $username
if [ $? -eq 0 ]; then
echo "add $username successful"
else
echo "$username added,change password failure"
fi
else
echo "add $username failure"
fi
done
exit 0
效果:
跟添加的思路差不多
Linux userdel命令详解:删除用户
#!/bin/bash
#delusers
echo "-----del 9 users------"
echo "please input a string:"
read user
for i in {1..9};do
username=$user$i
userdel -r $username
if [ $? -eq 0 ]; then
echo "del $username successful"
else
echo "del $username failure"
fi
done
exit 0
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_35629971/article/details/121413213
内容来源于网络,如有侵权,请联系作者删除!