Linux

當我在 crontab 中執行腳本時,輸出是不同的語言

  • January 14, 2022

我在寫日誌的 crontab 中執行一個腳本,當我以 root 身份執行它時,日誌是用西班牙語寫的。

但是當我在 crontab 中執行它時,輸出是英文的。

有沒有辦法以與我以 root 身份執行時相同的配置執行 crontab?

您有兩種可能的解決方案;您可以編寫一個包裝器腳本來設置適當的環境變數,然後呼叫您的原始 cron 腳本。如果您希望 LANG(我希望您需要設置的內容)對所有腳本都相同,您只需在 crontab 頂部定義它即可。這在Gerald Schneider連結的答案中解釋了為什麼我的 crontab 不起作用,我該如何解決它?但不是明確地用於 LC_* 或 LANG。這是如何做到的:

LANG=es_ES
*/15 */2 3 * * /opt/jobs/repeat-this.sh

根據您的腳本,您可能需要設置特定的 LC_* 值;或者簡單地設置 LC_ALL=es_ES。

LC_CTYPE、LC_NUMERIC、LC_TIME、LC_COLLATE、LC_MONETARY、LC_MESSAGES、LC_PAPER、LC_NAME、LC_ADDRESS、LC_TELEPHONE、LC_MEASUREMENT、LC_IDENTIFICATION、LC_ALL

引用自:https://serverfault.com/questions/1090008