自己编写了一个shell脚本来维护测试环境,使用了crontab调度让其定时执行,结果遇到了乱码问题,脚本在shell环境下直接运行没有问 题。
结论是crontab执行时不会携带用户的环境变量,缺失一些系统变量,碰到中文就乱码。需要在脚本里额外添加缺失的环境变量,针对中文问题,需要声明 LANG参数
在脚本开头增加:
LANG="en_US.UTF-8"
export LANG
设置的编码要和系统设置的一致,具体可以到/etc/sysconfig/i18n 查看对应的环境变量。
时间: 2024-10-29 09:43:56