3
我有一個簡單的shell腳本來執行.sql腳本。當.sql腳本完成時,shell腳本會將一封電子郵件發送到指定地址,通知是否成功運行了.sql腳本。在shell腳本中執行mailx命令
我的問題是主題行被截斷。我正在使用一個簡單的IF語句來確定主題行:
grep 'ORA-' $OUTFILE > /dev/null 2>&1
if [ $? = 1 ]; then
ERRORS=n
SUBJECT= "$VERSION script successful"
else
ERRORS=y
SUBJECT="$VERSION script had error(s)"
fi
這工作正常。然而,當我執行的mailx命令,主題行被截斷爲「發展」或「生產」,這取決於腳本的版本已執行:
mailx -s $SUBJECT $EMAIL < $MAILFILE
我知道主題行需要在如果它包含嵌入空格,則使用雙引號,但在分配給變量時似乎不能正確運行。
有沒有辦法解決?有沒有辦法逃脫雙引號
看來工作沒有空間(主要是)當我這樣做時:「$ {SUBJECT}」。但是,由於$ SUBJECT正在被分配一個字符串作爲變量($ VERSION),所以字符串現在是「$ VERSION script successful」或「$ VERSION script has error(s)」。任何想法如何獲得變量$ VERSION解析爲一個字符串? – elpisu 2011-05-25 19:51:28
1.我注意到你的任務中有一個空間,比如'SUBJECT =「....」。 2.你描述的行爲聽起來像你在你的任務上有單引號,即'SUBJECT ='...''。現在去睡覺。將在早上檢查。祝你好運。 – shellter 2011-05-26 02:18:12