Shell编程面试题4_批量创建Linux用户并设置密码

老男孩出的Shell编程企业面试题4:


批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串)。


我的Shell脚本如下:

#!/bin/bash

for num in 01 02 03 04 05 06 07 08 09 10
do
        username=oldboy$num
        password=`head -c 500 /dev/urandom | md5sum | head -c 8`
        egrep "^$username" /etc/passwd >& /dev/null
        if [ $? -ne 0 ]
        then
                useradd $username
                echo $password | passwd $username --stdin &>/dev/null
                if [ $? -eq 0 ]
                then
                        echo "$username:$password"
                fi
        fi
done

运行结果如下:

[root@CentOS66 shellstudy]# ./creatuser.sh 
oldboy01:d7e86b4e3b
oldboy02:7fbc6033fc
oldboy03:aabd217934
oldboy04:bbe4b5a094
oldboy05:38041b6159
oldboy06:e51d10d669
oldboy07:c292390561
oldboy08:61badd5747
oldboy09:60eed14fda
oldboy10:a5d5a6c1f6

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...