问题描述
(第一和第二个字段为注释,第三个字段为用户名,第四个字段为密码)
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"
解决方法
- 要读取文件并拆分字段,您可以简单地使用
read-while loop
- 检查
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