我正在尝试在我的脚本中执行以下循环,以便将邮件发送到我之前在脚本中编写的某个文件中的所有用户。我检查文件$ eUsers是否为空我执行以下操作:
for name in `cat $eUsers | cut -d' ' -f2`
do
echo "message" > /letter
cat /letter | mail -s "message" $name
done
cat $eUsers | cut -d' ' -f2
获取用户名。我在终端试了一下,它正在工作。我尝试将上面的代码放在一个单独的文件中,用它的路径(/ filename)替换“$ eUsers”,它没有任何问题。 然而,当我在我的脚本中使用该代码时,在文件$ eUsers中写入后,它进入无限循环。我不明白为什么会这样做。在原始文件中,由于行cat /letter | mail -s "message" $name
,似乎发生了无限循环。
答案 0 :(得分:2)
#!/bin/bash
while read junk name; do
echo "message" | mail -s "message" "$name"
done < "$eUsers"