批量创建10个系统账号(gota01-gota10),并设置密码(密码为随机数,要求是字符和数字的混合)###不用for循环的实现思路可参见https://user.qzone.qq.com/49000448/blog/1422183723
#!/bin/bash . /etc/init.d/functions user="gota" passfile="/tmp/user.log" for num in `seq -w 10` #从1至10 -w等位补全,宽度相等,不足的前面补0 do pass="`echo "test$RANDOM"|md5sum|cut -c 3-11`" #RANDOM的随机数范围:0~32767 useradd $user$num &> /dev/null && echo -e "$user${num}:$pass">>$passfile if [ $? -eq 0 ];then action "$user$num is ok" /bin/true else action "$user$num is fail" /bin/false fi done chpasswd < $passfile #给多个用户设置密码的命令 密码文件格式: 用户名1:口令1 cat $passfile
批量删除
#!bin/bash . /etc/init.d/functions user="gota" passfile="/tmp/user.log" for num in `seq -w 10` do userdel -r $user$num if [ $? -eq 0 ];then action "$user$num is ok" /bin/true else action "$user$num is fail" /bin/false fi done
几个延伸的知识点:
userdel命令可以用于删除用户帐号及相关档案。
语法:userdel [-r] 用户名
参数:-r 用于彻底删除,用户HOME目录下的档案会被移除,在其他位置上的档案也将一一找出并删除,比如路径/var/mail/用户名 下的邮件。
echo -e 命令详解
echo在php中是输入那么在linux中是不是也是输入呢,当然echo在linux也是输入不过它的用法比php强大多了可以带参数及一些东西,下面我们来看一篇关于linux echo命令介绍及-n、-e参数详解吧,具体如下所示。 echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。 语法 echo(选项)(参数)选项 -e:激活转义字符。使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: •a 发出警告声; • 删除前一个字符; •c 最后不加上换行符号; •f 换行但光标仍旧停留在原来的位置; • 换行且光标移至行首; • 光标移至行首,但不换行; • 插入tab; •v 与f相同; •\ 插入字符; • nn 插入nnn(八进制)所代表的ASCII字符; 参数 变量:指定要打印的变量。 实例 用echo命令打印带有色彩的文字: 文字色: echo -e "e[1;31mThis is red texte[0m" This is red text•e[1;31m 将颜色设置为红色 •e[0m 将颜色重新置回 颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37 背景色: echo -e "e[1;42mGreed Backgrounde[0m" Greed Background颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47 文字闪动: echo -e "