1.写一个脚本:

添加10个用户user1到user10,密码同用户名,但要求只有用户不存在的情况下才能添加

 #/bin/bash
#
for i in {..};do
if id user$i &> /dev/null;then
echo "user$i exists."
else
useradd user$i
echo user$i | passwd --stdin user$i &> /dev/null
echo "Add user$i finished!"
fi
done
~

2. 删除用户脚本

#/bin/bash
#
for i in {..};do
if id user$i &> /dev/null;then
userdel user$i
echo "user$i is delete!"
else
echo "user$i is no have!"
fi
done

userdel(选项)(参数)

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件。

3.扩展:

接受一个参数:

add: 添加用户 user1..user10

del:删除用户 user1..user10

其它:退出

 #/bin/bash
#
if [ $# -lt ];then
echo "Usage:adminiuser ARG"
exit
fi if [ $ == 'add' ];then
for i in {..};do
if id user$i &> /dev/null;then
echo "user$i is exists"
else
useradd user$i
echo user$i | passwd --stdin user$i &> /dev/null
echo "Add user$i finished."
fi
done
elif [ $ == 'del' ];then
for i in {..};do
if id user$i &> /dev/null;then
userdel -r user$i
echo "Del user$i finished."
else
echo "NO user$i"
fi
done
else
echo "Unknown ARG"
exit
fi

4.优化版本:

自选添加或删除多用户

admin add user1,user2,user3

admin del user1,user2,user3

 #/bin/bsh
#
if [ $# -lt ];then
echo "Usage:ARG"
exit
fi
if [ $ == 'add' ];then
for i in `echo $ | sed 's/,/ /g'`;do
if id $i &> /dev/null;then
echo "user $i exists."
else
useradd $i
echo $i | passwd --stdin $i &> /dev/null
echo "Add user $i finished!"
fi
done
elif [ $ == 'del' ];then
for i in `echo $ | sed 's/,/ /g'`;do
if id $i &> /dev/null;then
userdel -r $i
echo "Del user $i finshed!"
else
echo "user $i exists."
fi
done
elif [ $ == '--help' ];then
echo " Your want add-user 'adminuser add username1,name2..!'.
Your want del-user'adminuser del username1,name2..!'"
else
echo "Unknow ARG??? --help "
fi 注: echo aa,bb,cc | sed 's/,/ /g'
用sed替换命令把‘aa,bb,cc’ 转成列表式,再给for循环调用

sh3.useradd 添加用户脚本的更多相关文章

  1. linux命令useradd添加用户

    linux命令useradd添加用户详解 1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s ...

  2. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

  3. shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...

  4. useradd添加用户

    sudo useradd -m -s /bin/bash $user sudo passwd $user linux useradd/userdel 命令 转自:http://hi.baidu.com ...

  5. linux命令useradd添加用户详解

    1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s shell] [-c comment] [ ...

  6. 【转】linux命令useradd添加用户详解

    在linux中增加用户我们使用useradd命令而删除用户直接使用userdel即可了,下面小编来给各位同学介绍一下在linux中添加与删除用户方法吧.   1.作用 useradd或adduser命 ...

  7. Linux useradd 添加用户

    在 linux 中,如果我们想添加一个用户,那么使用的命令如下: 用户管理命令: useradd 基础的命令 命令名称:useradd 命令的所在路径:/usr/bin/useradd 执行权限:ro ...

  8. useradd 添加用户

    功能介绍 useradd命令用于Linux中创建的新的系统用户.useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号.使用useradd指令所建 ...

  9. linux useradd添加用户

    useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. useradd -m -s /bin/bash -g 群组名 用户名 其中 -m:自动建立用户的登入目录. -s:指定用户 ...

随机推荐

  1. windows下安装kibana出 "EPERM: operation not permitted

    D:\kibana-\bin>kibana-plugin install file:///x-pack-5.0.0.zip Attempting to transfer from file:// ...

  2. centos在线安装svn

    centos在线安装svn 用下列命令安装svn服务 yum install subversion 创建svn版本库目录 mkdir -p /var/svn/svnrepos 创建版本库 svnadm ...

  3. C#工具代码

    反射获取当前请求参数 var prop = System.Type.GetType("System.Web.HttpContext, System.Web, Version=4.0.0.0, ...

  4. Android Studio解决未识别Java文件(出现红J)问题

    1.问题:java文件出现了红J的问题,正常情况下应该是显示蓝色的C标识. 2.解决方案:切换到project视图下,找到app这个module里的build.gradle,在android结构里插入 ...

  5. canvas-炫丽的倒计时效果Canvas绘图与动画基础

    canvas 是基于转台来绘制的 来了解一下canvas的浏览器兼容性问题,如下图所示.(截图自can i use) tips:刚刚拿去ie8下测了一下,什么反应都没有,提前设定好的,如果该浏览器不支 ...

  6. [原创] C# dynamic拼接Json串

    using Newtonsoft.Json; 之前拼接两个json串,是用的这样的代码 , json1.Length - ); json2 = json2.Insert(json2 - , tmp); ...

  7. U盘存放大于4G数据文件且无须格式化U盘的解决方法

    现在优盘的容量越来越大了,价格越来越便宜,可是它也有个缺点,因为它默认的文件系统是"FAT32",这种文件系统最大只能保存4G的文件,超过4G的文件就不能保存在优盘上了,这样就不能 ...

  8. UUID库

    If you cannot afford to use Boost, then there is a very minimal library that I implemented which sim ...

  9. 常见ES5方法

    • ES5 JSON扩展JSON.parseJSON.stringify • ES5 Object扩展Object.createObject.keys • Date对象Date.now • ES5 F ...

  10. iOS组件化思路 <转>

    随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分.但是仅仅完成代码拆分还不足以解决业务之间的代码耦合,为了更好 ...