2016-06-30 44 views
0

我已經給出了一個任務來自動化腳本,並且我已經爲此寫了一個腳本。該腳本需要從數據中心和AWS運行。最後,結果需要壓縮併發送給預期的收件人。替代UNIX shell腳本中的uuencode(從UNIX框發送電子郵件)

我已經使用uuencode來生成數據中心中的郵件,它在數據中心中運行得非常好。但是,當我在AWS中運行它時,出現錯誤Syntax error: uuencode, not found

通過互聯網搜索後,我才知道這是因爲uuencode沒有安裝在我的AWS機器上。我驗證它是正確的。

我是新來的編碼,任何幫助真的不勝感激。我的問題在於AWS是一個客戶端機器,我們不應該安裝任何新的東西。所以,安裝uuencode不適合我。

有人可以讓我知道一個替代的uuencode命令。

這裏是我的Linux版本:

的Linux版本AWS:3.8.13-55.1.2.el6uek.x86_64#2 SMP週四12月18日0點一十五分51秒PST 2014 x86_64的x86_64的x86_64的GNU/Linux的

Linux的數據中心版本:2.6.18-194.el5#1 SMP週一3月29日22點十分29秒美國東部時間2010 x86_64的x86_64的x86_64的GNU/Linux的

這裏是一段代碼,我已經寫了:

i

f [ -s $WORKINGDIR/Report.zip ] 
then 

(echo "Hi, 

Please find attached, report for datacentre. 

Please let us know for further clarifications. 


Thanks, 
JordanForever ";uuencode $WORKINGDIR/Report.zip Report.zip;)| mailx -s "report for datacentre " $MAILLIST 
else 
(echo "script for datacentre failed. 

     Script Details: 

       Host: $HOSTNAME 
       Path: $WORKINGDIR 

";) | mailx -s "Failed: report for datacentre " $FAILURE_MAILLIST 
fi 

我試過muttsendmail命令,但這也沒有幫助。

你們能幫我一個人嗎?我無法安裝/卸載uuencode。任何替代命令都會有幫助。

問候

+0

我假設你已經檢查了您的AWS mailx'的'實現事實上不能有附加選項(並因此編碼)附件?尋找'-A'(或類似的選項),但不是每個'mailx'都有這個。 – Kusalananda

+0

'base64'是否可用?如果是這樣,它將對數據進行Base-64編碼(和解碼)。它與uuencode不一樣(它不包含文件名和權限信息,並且你可能想要爲GNU版本指定'-b 72'或其附近的'-w 72')來合理地分割行,等等)。這是'現代'的標準編碼,避免了像輸出行尾部空白這樣的'uuencode'缺陷(如果刪除了'uudecode',它將被破壞)。 –

回答

0

如果你需要UUENCODE,你不能安裝UUENCODE,然後再考慮蟒蛇。在現代,python安裝在任何地方,uuencode是其標準模塊之一。

要對其進行uuencode Report.zip和輸出發送到標準輸出,請嘗試:

python -c 'import sys,uu; uu.encode("Report.zip", sys.stdout)'