Ale*_*war 4 shell locale iterm2 macos
在我的系统上,语言环境变量LC_CTYPE设置为非法值,这会导致 Linux 系统出现问题。它设置为:
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
LC_CTYPE=UTF-8不是 Linux 上的合法值;例如。:
$ ssh front1
Linux front1 3.16.0-7-amd64 #1 SMP Debian 3.16.59-1 (2018-10-03) x86_64
The programs included with the Debian GNU/Linux system are free software;
…
alex@front1 ~> perl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US").
Run Code Online (Sandbox Code Playgroud)
但是首先在哪里LC_CTYPE设置?它不在/etc或$HOME(我做了一个sudo fgrep -ri LC_CTYPE /etc $HOME)中的任何文件中。
我使用 iTerm2 作为我的终端应用程序。
经过一番ddg 之后,我来到了Remi Bergsma 博客上的博客文章在 Mac OSX 终端应用程序上正确设置语言环境。原来,iTerm2 也有这样的设置。禁用它,使 iTerm2 不会弄乱语言环境。
现在它是这样设置的:
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
这也不是很好,因为我已将系统设置为瑞士德语。normale 终端应用程序在这方面更好:
$ locale
LANG="de_CH.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_CTYPE="de_CH.UTF-8"
LC_MESSAGES="de_CH.UTF-8"
LC_MONETARY="de_CH.UTF-8"
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3076 次 |
| 最近记录: |