[英]problem with for loop in BASH script
我正在嘗試在我的腳本中執行以下循環,以便將郵件發送到我在腳本中先前編寫的某個文件中的所有用戶。 我檢查文件$ 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
cat $eUsers | cut -d' ' -f2
獲取用戶名。 我在終端試了一下,它正在工作。 我嘗試將上面的代碼放在一個單獨的文件中,用它的路徑(/ filename)替換“$ eUsers”,它沒有任何問題。 但是,當我在我的腳本中使用該代碼時,在文件$ eUsers中寫入后,它進入無限循環。 我不明白為什么會這樣做。 在原始文件中,由於行cat /letter | mail -s "message" $name
似乎發生無限循環 cat /letter | mail -s "message" $name
。
#!/bin/bash
while read junk name; do
echo "message" | mail -s "message" "$name"
done < "$eUsers"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.