本身編寫了一個shell腳原本維護測試環境,使用了crontab調度讓其定時執行,結果遇到了亂碼問題,腳本在shell環境下直接運行沒有問 題。shell
結論是crontab執行時不會攜帶用戶的環境變量,缺失一些系統變量,碰到中文就亂碼。須要在腳本里額外添加缺失的環境變量,針對中文問題,須要聲明 LANG參數測試
在腳本開頭增長:
LANG="en_US.UTF-8"
export LANG編碼
設置的編碼要和系統設置的一致,具體能夠到/etc/sysconfig/i18n 查看對應的環境變量。crontab