脚本练习:建立用户

简介:

脚本练习:

要求:

1 编写的脚本script.sh /mnt/userfile /mnt/password

2 当要建立的用户已经存在不做任何操作

3 当脚本所指定文件个数少于两个显示:

pleasegive  me userfile  or  password file

4 当所给额文件行数不一致时显示:

/mnt/userfile‘s  line  is  different  from  /mnt/password's line

 

 

 

脚本如下:

#!/bin/bash

while [ "$#" -lt "2" ]

do

echo please give me userfle or password file

exit 1

done

COUNT=`wc -l $1 | cut -d " " -f 1`

COUNT1=`wc -l $2 | cut -d " " -f 1`

while [ $COUNT -ne $COUNT1 ]

do

echo "/mnt/userfile's line is different from /mnt/password's line"

exit 1

done

NUM=1

COUNT2=$[$COUNT+1]

while [ "$NUM" -lt "$COUNT2" ]

do

USERNAME=`sed -n ${NUM}p $1`

PASSWD=`sed -n ${NUM}p $2`

id $USERNAME &> /dev/null

while [ "$?" -ne "0" ]

do

useradd $USERNAME &> /dev/null

echo $PASSWD | passwd --stdin $USERNAME &> /dev/nul

done

NUM=$[$NUM+1]

done

 

 

 

 

测试:

 

[root@localhost ~]# cat /mnt/userfile

westos

westos1

westos2

westos3

westos4

[root@localhost ~]# cat /mnt/password

123

234

567

896

123

[root@localhost ~]# script.sh /mnt/userfile /mnt/password

[root@localhost ~]# id westos

uid=1008(westos) gid=1008(westos) groups=1008(westos)

[root@localhost ~]# id westos1

uid=1009(westos1) gid=1009(westos1) groups=1009(westos1)

[root@localhost ~]# id westos2

uid=1010(westos2) gid=1010(westos2) groups=1010(westos2)

[root@localhost ~]# id westos3

uid=1011(westos3) gid=1011(westos3) groups=1011(westos3)

[root@localhost ~]# id westos4

uid=1012(westos4) gid=1012(westos4) groups=1012(westos4)

[root@localhost ~]# vim /mnt/password

[root@localhost ~]# cat /mnt/password

123

234

567

896

123

123

[root@localhost ~]# script.sh /mnt/userfile /mnt/password

/mnt/userfile's line is different from /mnt/password's line

[root@localhost ~]# script.sh /mnt/userfile

please give me userfle or password file

[root@localhost ~]# script.sh

please give me userfle or password file

 












本文转自blueclo51CTO博客,原文链接: http://blog.51cto.com/12774272/1939128,如需转载请自行联系原作者


相关文章
|
9月前
|
存储 算法 Unix
Shell中建立与使用临时性文件的方法详解
Shell中建立与使用临时性文件的方法详解
71 0
|
SQL 机器学习/深度学习 关系型数据库
Shell变量的作用、类型,及如何利用脚本配合任务计划远程备份mysql数据库
Shell变量的作用、类型,及如何利用脚本配合任务计划远程备份mysql数据库
138 0
Shell变量的作用、类型,及如何利用脚本配合任务计划远程备份mysql数据库
怎样建立自己的网站?常见方法介绍!
对于一个企业或者是一个品牌来说,如果想要获得更高的知名度的话,最好的办法就是创建一个属于自己的网站。因为现在已经成为了网络的主要时代,绝大部分人类的日常起居和生活是离不开网络的,所以说网络推广是最有效的办法之一。所以说,建立网站能够树立更好的企业形象和品牌形象,那么,对于企业来说,怎样建立自己的网站呢?其实可以通过下面的几个方法来建设
174 0
怎样建立自己的网站?常见方法介绍!
|
Web App开发 存储 开发框架
如何建立一个安全的“记住我”功能
有这样一个场景——有个用户初访并登录了你的网站,然而第二天他又来了,却必须再次登录。于是就有了“记住我”这样的功能来方便用户使用,然而有一件不言自明的事情,那就是这种认证状态的”旷日持久“早已超出了用户原本所需要的使用范围。这意味着,他们可以关闭浏览器,然后再关闭电脑,下周或者下个月,乃至更久以后再回来,只要这间隔时间不要太离谱,该网站总会知道谁是谁,并一如既往的为他们提供所有相同的功能和服务——与许久前他们离开的时候别无二致。
368 0
如何建立一个安全的“记住我”功能
LXJ
|
数据安全/隐私保护
服务器用户、密码变动检测脚本
服务器上如果有用户变动,或者密码变动会有邮件通知。
LXJ
140 0
Confluence 6 外部小工具在其他应用中设置可信关系
为了在你的 Confluence 中与其他应用建立外部小工具,我们建议你在 2 个应用之间设置 OAuth 或者信任的应用连接关系。
895 0
Confluence 6 连接到外部用户目录服务器的问题分析
在有关外部目录服务器配置页面中有一个测试配置(Test Settings)按钮。这个功能将会帮助你分析你的用户管理在 Active Directory 和其他 LDAP 服务器中出现的问题。
830 0
|
缓存 数据库 数据安全/隐私保护
Confluence 6 从外部目录中同步数据如何工作
下面是有关缓存功能的一些摘要信息: 用户和用户组的缓存信息保存在应用程序的数据库中。 当你连接一个新的外部目录到系统中的时候,一个同步任务将会启动被,并且在后台运行拷贝所有需要的用户和用户组信息,以及用户组的成员信息到本地的应用数据库中。
993 0
|
JavaScript 前端开发