使用 shell 脚本解析 CSV 文件并使用 ldapadd 命令添加用户

使用 shell 脚本解析 CSV 文件并使用 ldapadd 命令添加用户

大家晚上好,

正如标题所示,我试图解析一个大约 400 行的 csv 文件,并使用下面的脚本添加每一行。这是家庭作业的一部分,我不确定我到底做错了什么。

#!/bin/bash
while IFS=, read -r userName firstName lastName gender dob language bloodType zodiac constellation planet genre dino;
do
        ldapadd -x -w 1234568 -D cn=admin,dc=SAMPLE,dc=CLASS,dc=SCHOOL,dc=edu
        dn: uid=$userName,ou=people,dc=SAMPLE,dc=CLASS,dc=SCHOOL,dc=edu
        objectClass: person
        objectClass: top
        objectClass: inetorgperson
        uid: $userName
        cn: $firstName $lastName
        sn: $lastName
        description: $dob
        
done < Males.csv

我不确定我做错了什么,因为我不断收到错误:“ldapadd:无效格式(第 1 行)条目:“””

答案1

ldapadd 期望dn: ...来自标准输入。您需要一个“此处文档”:

#!/bin/bash
while IFS=, read -r userName firstName lastName gender dob language bloodType zodiac constellation planet genre dino;
do

ldapadd -x -w 1234568 -D cn=admin,dc=SAMPLE,dc=CLASS,dc=SCHOOL,dc=edu <<EOF
dn: uid=$userName,ou=people,dc=SAMPLE,dc=CLASS,dc=SCHOOL,dc=edu
objectClass: person
objectClass: top
objectClass: inetorgperson
uid: $userName
cn: $firstName $lastName
sn: $lastName
description: $dob
EOF
        
done < Males.csv

不要!在此处的文档中使用缩进。

相关内容