如何更改日期命令的语言?

如何更改日期命令的语言?

我正在vnstat与 一起使用conky。为了显示我正在混合的每月流量vnstatgrep找到月份。收集数据的命令是

${execi 3600 vnstat -m -i wlan0 | grep "$(date "+%h")" | awk '{print $3 $4}'}

但问题是,vnstat以英语返回月份(Dec 为 December),并date以葡萄牙语返回月份(Dez 为 Dezembro)。

所以我的命令不适用于每月的流量。有什么帮助吗?

答案1

您需要导出LANGdate.假设execi调用兼容 POSIX 的 shell 来完成繁重的工作(注意:我不知道它是否这样做,您的情况可能会有所不同),类似以下内容应该可以工作:

${execi 3600 vnstat -m -i wlan0 | grep "$(LC_ALL=C date "+%h")" | awk '{print $3 $4}'}

答案2

要在 don't-bother-me-about-locales 模式下运行命令,请设置环境变量LC_ALL。这会覆盖所有区域设置。不要打扰我区域设置被称为C(或者POSIX,它们是同义词)。

export LC_ALL=C; vnstat -m -i wlan0 | grep "$(date "+%h")" | awk '{print $3 $4}'

这会将所有错误消息设置为英语,将所有日期设置为美国日期,将排序设置为字节顺序,将可打印字符设置为 ASCII。

设置 LC_* 但不设置 LC_ALL更多细节。

相关内容