我编写了以下脚本来从文本文件中添加用户。它有效,但我收到的错误是“论证太多”;有什么问题?
#!/bin/bash
file=users.csv
while IFS="," read USRNM DOB SCH PRG PST ENROLSTAT ; do
if [ $ENROLSTAT == Complete ] ;
then
useradd $USRNM -p $DOB
else
echo "User $USRNM is not fully enrolled"
fi
done < $file
#cat users.csv | head -n 2 | tail -n 1
答案 0 :(得分:10)
使用引号。宽松。
if [ "$ENROLSTAT" = Complete ]
(这也是一个单一的等号。)我在shell编程中遇到的最大问题始终是隐藏空间。这是我在Perl中编写这么多内容的原因之一,为什么在Perl中,我告诉团队中的每个人在运行外部程序时避免shell 。外壳中有如此多的力量,有很多小东西可以绊倒你,我尽可能避免它。 (而不是在哪里不可能。)