【发布时间】:2011-11-30 22:28:38
【问题描述】:
在过去的 2 个小时里,我已经尝试了所有方法来完成这项工作,但我在 shell 和编程方面的经验有限。
我有一个循环
while IFS="," read var1 var2 var3 var4 var5 ; do
statements here...
done < $file
现在语句内部的操作是从一个文本文件中读取,如你所见,它有 5 个字段,然后使用它们在 Linux 中使用 bash 创建帐户
useradd $var1 -p var2 -g var3等
我想让脚本只从第二行开始阅读,我无法让它工作。类似于 while ifs=, read (from second line) var 1 var 2 var3 etc.
原因是该文件是一个从 excel 到 csv 的导出数据库,因此第一行将包含诸如名字 dob 注册等标题,并且不需要
感谢您的帮助
加法:
在创建用户之前,我添加了一个 if 语句,如果用户满足条件,那么他们将被创建。
if [ "$var5" == "fullyenrolled" ]; then
continue with account creation...
echo "$var1 successfuly created"
else
echo "Sorry user $var1 is not fully enrolled"
fi
回声的输出类似于
Full name is not fully enrolled
user1 successfuly created
user2 successfuly created
即使我添加 sed 1d |虽然 IFS= 等等等,但它似乎仍在读取第一行,这就是为什么我得到第一个输出,如“全名未完全注册”
【问题讨论】:
标签: bash