背景

公司新来了一批实习生,要创建以实习生为名的账号

需求

1.自动创建
2.每个人名字不一样,用户不规律
3.密码不能一致
4.判断要创建的用户是否存在

设计思路

指定用户名,密码完全随机并且再用md5加密截取部分数量。循环输出即可。

  1. #!/bin/bash
  2. USER_FILE=./user_info
  3. for USER in user{1..10}; do
  4. if ! id %USER &> /dev/null; then
  5. PASS=$(echo $RANDOM | md5sum | cut -c 1-8)
  6. useradd $USER
  7. echo $PASS | passwd --stdin $USER
  8. echo "$USER $PASS" >> $USER_FILE
  9. echo "$USER user create successful"
  10. else
  11. echo "$USER user already exists!"
  12. fi
  13. done

优化版:

  1. #!/bin/bash
  2. USER_LIST=$@
  3. USER_FILE=./user_info
  4. for USER in $USER_LIST; do
  5. if ! id %USER &> /dev/null; then
  6. PASS=$(echo $RANDOM | md5sum | cut -c 1-8)
  7. useradd $USER
  8. echo $PASS | passwd --stdin $USER
  9. echo "$USER $PASS" >> $USER_FILE
  10. echo "$USER user create successful"
  11. else
  12. echo "$USER user already exists!"
  13. fi
  14. done