使用BASH在Linux中添加CSV用户
问题描述:
我的CSV文件包含所需的信息,如名字,姓氏,用户标识。我有5个用户,我需要从CSV解析。为了创建分配给组(group1)的帐户并分配加密的临时密码。我打了一堵墙,任何帮助都会很棒。谢谢!使用BASH在Linux中添加CSV用户
#!/bin/bash
OLDIFS=$IFS
IFS=","
while read firstname lastname userid
do
useradd -c "$firstname $lastname -d /home/$userid -G group1 -s /bin/bash $userid"
done
IFS=$OLDIFS
没有用户从脚本执行中被添加。
答
这应该对你有所帮助。
#!/bin/bash
OLDIFS=$IFS
IFS=","
while read firstname lastname userid
do
useradd -c "${firstname} ${lastname}" -d /home/"${userid}" -G group1 -s /bin/bash "${userid}"
done < file.csv
你的剧本很好,我已经作出一些改动如下
- 所引述的变量,这将防止不必要的扩展。
- 重置
IFS
不是必需的,因为脚本在子外壳中运行。 -
while
需要一个文件输入,所以添加它。
你有什么不对? – 2014-11-04 13:56:29
@ 1up你有一个未结束的报价。但是没有办法知道这是否是原因,因为您没有正确描述问题。 – Biffen 2014-11-04 13:57:46
我在BASH中执行时在第8行发生错误; ./Parse.sh:第8行:寻找匹配的'''意想不到的EOF ./Parse.sh:第12行:语法错误:文件意外结束 – 1up 2014-11-04 13:57:59