批量创建用户和删除用户

批量创建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 "