标签:脚本 shell name 账号 passwd cat 应用 echo createName
探究实现
撰写一个shell脚本实现以下功能:
1、在系统中创建本宿舍所有人的账号,用户名是姓名首字母手写,密码是abc123;
2、将系统中所有账号的账号名导出到/tmp目录下的name.txt文件当中
3、最后从/etc/passwd文件中读取账号信息,并在屏幕当中按照以下形式输出信息“##账号的uid是##”
创建脚本:vim shell.sh
#!/bin/bash
if [ $# != 1 ];then
echo "Usage:root/batchusers"
elif [ -f $1 ];then
for line in `cat $1`
do
createName=`echo $line | cut -d : -f1`
useradd -s /bin/bash $createName
echo $createName:"abc123" | chpasswd
echo "created user: $createName"
done
username=`cat /etc/passwd | awk -F: '$3>=0' | cut -f 1 -d :`
echo $username >> /tmp/name.txt
for uid in `cat /etc/passwd | awk -F: '$3>=0' | cut -f 3 -d :`
do
echo '##账号的uid是##'$uid
done
else
echo "input file not found"
fi
使用
先创建一个文件,里面填写自己的需要添加的用户
vim user.txt
内容为
ZhangSan
LiSi
如下运行,要保证shell 和user.txt两个文件的位置在同一处
sh shell.sh user.txt
结果
简易版本:不使用其他文件
#!/bin/bash
#in循环宿舍中的成员,可以自己添加
for name in ZhangSan LiSi
do
useradd ${name} #创建账号
echo "123abc" | passwd --stdin ${name} #设置密码
done
#将所有用户名输出到name.txt,cat取出passwd的所有,
#cut进行截取 -f 1取得第一个参数,-d :用冒号做分割线
#bbb : x : 1007 : 1007: :/home/bbb :/bin/bash
#注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
echo `cat /etc/passwd | cut -f 1 -d:` >> /tmp/name.txt
#屏幕输出
#同样也是以冒号为分隔符$1 代表第一个参数 ,$3是第三个参数
cat /etc/passwd |awk -F ":" '{print $1"账号的UID是"$3}'
补充将##账号的UID是## 输出改为 某某账号的UID是多少
#!/bin/bash
if [ $# != 1 ];then
echo "Usage:root/batchusers"
elif [ -f $1 ];then
for line in `cat $1`
do
createName=`echo $line | cut -d : -f1`
useradd -s /bin/bash $createName
echo $createName:"abc123" | chpasswd
echo "created user: $createName"
done
username=`cat /etc/passwd | awk -F: '$3>=0' | cut -f 1 -d :`
echo $username >> /tmp/name.txt
cat /etc/passwd |awk -F ":" '{print $1"账号的UID是"$3}'
else
echo "input file not found"
fi
结果截图
标签:脚本,shell,name,账号,passwd,cat,应用,echo,createName 来源: https://blog.csdn.net/qq_43661408/article/details/106716430
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。