添加用户并从csv文件分配组时解决错误

时间:2018-02-09 14:49:52

标签: bash

所以我一直在研究这个问题,我完全感到困惑。我有一个包含group,firstname,lastname,username的csv文件。我正在尝试编写一个首先检查用户是否存在的脚本。如果用户存在,那么它只会将该组添加到该用户。如果用户不存在,它将添加用户,创建仅可由他们访问的主目录,为他们分配主要学生组,并将他们添加到csv文件中指定的辅助组。

以下是csv文件中数据的示例:

csc150,Brion,Fontes,brionf
csc150,Dru,Glenn,drug
csc250,Brion,Fontes,brionf 

我现在通过shellcheck.net运行我的代码。它说我有几个问题所以我纠正了它们。我的脚本现在是这样的:

#!/bin/bash
INPUT=/root/users/users.csv
IFS=","
[ ! -f "$INPUT" ] &while read -r f1 f4
do getent passwd "$f4" > /dev/null 2>&1
if [ "$f4" -eq 0 ]
then
usermod -a -G "$f1 $f4"
elif [ "$f4" -eq 1 ]
then
useradd -m -d/home/"$f4 $f4" -g students -G "$f1"
fi
done < users.csv

已创建所有组并显示cat / etc / group

应该注意的是,这里的所有用户信息都是虚构的,因此这里没有任何个人数据被丢弃。我在VM上运行Debian。以下是运行脚本时出现的错误:

./useradd.sh: line 6: [: firstname,lastname,username: integer expression expected
./useradd.sh: line 9: [: firstname,lastname,username: integer expression expected

0 个答案:

没有答案