批量添加用户shell脚本详解
来源:互联网 发布:centos7 mysql登陆 编辑:程序博客网 时间:2024/04/29 04:25
一、假如添加用户的信息如下:
二、shell脚本如下:
① #!/bin/bash 大家看过韩顺平老师的视频,应该知道linux中有4种shell ,这句指定我们使用bash
② #usage:sh adduser.sh userinfo.txt 表示注释,告诉大家使用方法为:sh 脚本 保存账号密码的文件
③ sh adduser.sh userinfo.txt sh adduser.sh 为$0, userinfo.txt为$1
所以,wc $1 就是wc userinfo.txt ,执行结果如下:
对我们来说,统计行数是需要的,也就是上图中的“4”(注意,4前面有空格的,这为啥wc $1 | cut –f1-d' '的原因,大家可以单独试试这语句)
wc -l userinfo.txt执行结果如下:
Cut –f 表示 裁剪某一域
-d 表示 自定义如何分域 ,-d’ ‘ 表示以空格分隔为域(单引号之间有空格的)
所以wc $1 | cut -f2 -d' ' 表示截取第一部分 ,等价于wc -l $1 | cut –f1-d' '
然后,我们将统计好的行数赋给变量num
① n=1 又定义一个变量,并赋予初值
② While [ $n –le $num] 如果n的值小于等于num(litter equal),执行下面循环
③ Sed –p 打印某行 ,例如,sed -p 3p /root/userinfo.txt 表示打印userinfo.txt的第三行,我们想要依次打印每行,就用”$n”p 参数
awk 表示检测文件的内容,然后输出你想要的区域
awk 后面不加参数,表示以空格分隔
-F: 表示以冒号分隔
Awk -F:‘$3==0 {print $1 }’/etc/passwd 表示检测系统中UID为0 的用户
/etc/passwd 文件如下:
$1 为第一区域,第一个冒号前面的用户名,$3为第三区域,第二个冒号后面的UID号(注意这边$跟参数或叫位置变量$是不同概念)
/etc/passwd 格式为(用户名:密码位:UID:GID:宿主目录:哪种shell)
这句语句中,第一个$1,表示userinfo.txt 文件,管道后面awk的操作对象变成了
没出参数,表示以空格分隔。所以,第二个$1 为zhangsan print $打印出来为zhangsan,变量username为zhangsan
① Useradd $username 表示添加用户
② userpasswd=`sed -n"$n"p $1 | awk '{ print $2 }'` 表示先打印出某行,提取这行的空格后面的密码
③ echo"$userpasswd" | passwd --stdin$username
我们在添加用户后,用passwd 设置 密码 是交互式的,--stdin 就是屏蔽交互式的方式。
这句echo 显示变量userpasswd 的值(就是我们想要的密码),然后,赋给用户。(显示的userpasswd 相当于我们交互式时输入的密码)
10. n=`expr $n + 1`相当于C语言中n=n+1 在linux中,命令expr 表示算术运算
总结:cut 和awk 功能相似,所以,上面有些地方可以改动的。如有错误,欢迎指正!
- 批量添加用户shell脚本详解
- shell脚本批量添加用户
- shell脚本-批量添加或删除用户
- shell批量添加用户
- 【shell脚本练习】批量添加用户和设置密码
- shell脚本批量增加用户
- shell脚本批量操作用户
- shell应用:批量添加用户
- 【SHELL】4 批量添加用户
- 批量添加删除用户脚本
- 用户管理(一):使用shell脚本批量添加指定数量的用户
- shell脚本:批量添加文件后缀名
- 一个批量添加的Shell脚本
- shell编程(批量添加删除用户)
- shell批量添加删除100用户
- 批量添加用户脚本--摘自linuxsir
- 利用脚本批量添加域用户账户
- 利用脚本批量添加域用户账户
- Linux进入单用户模式
- sql 联合查询
- UVA 3942 Remember the Word
- 互联网高手教你如何搜集你想要的信息
- 黑马程序员--Java入门之面向对象的理解
- 批量添加用户shell脚本详解
- Mysql,SqlServer,Oracle主键自动增长的设置
- 1.CCProgressTo进度动作,条形进度条,扇形进度条
- Android在OnCreate中获取控件的宽度和高度
- 开源项目网址
- Eclipse 上 spring 插件安装
- strcpy的源代码编写
- the last day in Beijing
- salesforce中取消按钮表单跳过验证