如何从txt文件创建用户名

问题描述

我正在尝试从名为names.txt的文本文件创建用户

(第一和第二个字段为注释,第三个字段为用户名,第四个字段为密码)

Jessica brown,jessicabrown,id0001
James Santos,jamessantos,id0002

到目前为止,这是我所拥有的,但是它无法正常工作,我有一种感觉,我可以用更短的方法来做,但是无法弄清楚。

user_name=$(cat names.txt | cut -d,-f3)
password1=$(cat names.txt | cut -d,-f4)
comment1=$(cat names.txt | cut -d,-f1 -f2)

user_name2=$(cat names.txt | cut -d,-f3)
password2=$(cat names.txt | cut-d,-f4)
comment2=$(cat names.txt | cut -d,-f1 -f2)

useradd "$user_name" -p "$password1" -c "$comment1"
useradd "$user_name2" -p "$password2" -c "$comment2"

解决方法

  1. 要读取文件并拆分字段,您可以简单地使用read-while loop
  2. 检查man useradd中命令的正确选项

示例(echo仅用于演示,请在最终脚本中将其删除):

#!/usr/bin/env bash

while IFS="," read -r COMMENT1 COMMENT2 USERNAME PASSWORD ; do
  echo useradd "$USERNAME" --password "$PASSWORD" --comment "$COMMENT1,$COMMENT2"
done <names.txt