2017-05-01 42 views
0

今天我在其中一個腳本中發現了一個奇怪的錯誤。 一些背景第一。腳本運行順序一堆命令,並創建一個HTML模板是後send.Right現在這個特定的模板炒,我無法理解why.Here是一個示例:劇本輸出(bash)

//錯誤。請注意第二行被剪切。字符串應該是「受影響的CI序列號」。此外,電子郵件應以「Dear Team」開頭,並且不在應該的位置。

Affected CI Name: <name> 

cted CI Serial Number: <SN> 

Dear Team, 

無處腳本我運行在background.Everything東西應該按順序運行:

echo "<b>" Affected CI Name: "</b>" $(grep $sn $FPATH/arraylist.txt|awk '{print $2}')"<br>" >> $FPATH/mail 
echo "<b>" Affected CI Serial Number: "</b>" $(grep $sn $FPATH/arraylist.txt|awk '{print $1}') "<br>" >> $FPATH/mail 

我認爲,這個問題將不會是reproducible.My問題只是怎麼會這樣事情發生?到目前爲止,一切正常運行。我錯過了關於輸出重定向的事情嗎?據我所知,每個命令都應該等待前一個返回代碼,然後繼續下一個。

// Linux版本的

2.6.26-2-amd64的#1 SMP太陽03月04日21時48分06秒UTC 2012 x86_64的GNU/Linux的

回答

1

試試這個,看看是否有幫助:

execute_commands() 
{ 
echo "<b>" Affected CI Name: "</b>" $(grep $sn $FPATH/arraylist.txt|awk '{print $2}')"<br>" 
echo "<b>" Affected CI Serial Number: "</b>" $(grep $sn $FPATH/arraylist.txt|awk '{print $1}') "<br>" 
} 

execute_commands >> $FPATH/mail 

我有複製/粘貼你的命令,假設他們工作。不同之處在於,只有一次重定向就能處理所有事情,希望這可以避免任何可能影響您所看到的行爲的緩衝問題。

+0

謝謝Fred.我會試試看,雖然我說這似乎並不是每次都會發生,所以我不知道我是否可以正確測試它。 –

+0

輸出有時會出現亂碼,有時候看起來就像是可能有幫助的那種問題,但這當然是黑暗中的一拍,所以我不能肯定地說它會解決您的問題。 – Fred

+0

是的,它可能根本沒有幫助,但我仍然感謝您的幫助。 –