撰写一个shell脚本实现以下功能: 使用 内容为 如下运行,要保证shell 和user.txt两个文件的位置在同一处 结果 结果截图
探究实现
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
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
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算