[英]Reading lines from a file into variables in Bash
我正在创建一个脚本,使用Bash自动从Unix中的文本文件添加用户
我已经将文件读入了一个以$ FILE保存的脚本
该文件采用以下格式:电子邮件; birthdate; groups; sharedFolder
我想忽略文件中的第一行并将数据读入变量
我已经将IFS设置为';' 早。 目前我有
sed 1d $FILE | while read EMAIL BIRTH GROUPS SHAREDFOLDER
do
echo "$EMAIL"
done < $FILE
但当我回应EMAIL变量时,我什么也得不到
您正在尝试将标准输入重定向两次。 管道和<
不能while read
连接。 在我的Bash上<
胜利:
bash$ echo moo | cat <<<bar
bar
显然你想简单
sed 1d "$FILE" | while read -r EMAIL BIRTH GROUPS SHAREDFOLDER
do
echo "$EMAIL"
done
虽然这可以有意义地减少到公正
sed 1d;s/;.*//' "$FILE"
您还真的想为您的私有变量使用小写 ,但这是一个单独的讨论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.