我想知道它在哪裏更改計數器變量,我用它來計算文件中包含的郵件地址,當我打印出循環時,值從終端消失,另一方面,如果打印在週期內,該值是正確的。所以,我不明白的地方的值丟失,因爲當你使用|
你fork一個新的子shell,我必須打印出來的循環,因爲它是正確的計數器變量的值是多少? linux -bash
cat $FILENAME_2 | while read LINE
do
if [ "$LINE" = "" ]
then
echo "blanks"
exit 1
fi
TEST=${LINE:0:1}
//verify string start with #
if [ "$TEST" != "#" ] ; then
let CONTADOR=CONTADOR+1
cat html_list | mail -a "Content-type:text/html" -s "$ASUNTO" $LINE
echo "Mail enviado a $LINE"
fi
echo "i send $CONTADOR mails" //print mails count
done
echo "i send $CONTADOR mails" // print blank space
我看不到變量的範圍。你能粘貼整個代碼嗎?否則,請檢查$ CONTADOR是否在done命令後無法訪問的區域內聲明。 –
http://pastebin.com/rq13yRpT – santiago92
可能重複[無法添加元素到bash中的數組](http://stackoverflow.com/questions/22691436/unable-to-add-element-to-array-in -bash)。雖然這不是唯一的,但不一定是最好的重複,但問題完全相同。 –