首页 > 代码库 > 解决使用crontab执行shell脚本时出现乱码情况

解决使用crontab执行shell脚本时出现乱码情况

自己编写了一个shell脚本来维护测试环境,使用了crontab调度让其定时执行,结果遇到了乱码问题,脚本在shell环境下直接运行没有问 题。

 

结论是crontab执行时不会携带用户的环境变量,缺失一些系统变量,碰到中文就乱码。需要在脚本里额外添加缺失的环境变量,针对中文问题,需要声明 LANG参数

在脚本开头增加:
LANG="en_US.UTF-8"
export LANG

设置的编码要和系统设置的一致,具体可以到/etc/sysconfig/i18n 查看对应的环境变量。

解决使用crontab执行shell脚本时出现乱码情况