Como no ha desactivado "Establecer las variables de entorno de configuración regional en el inicio", el terminal establece LANG
según la región seleccionada en Preferencias del sistema.
$ defaults read -g AppleLocale
ja_JP
$ locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=
$ asd
bash: asd: コマンドが見つかりません
Puedes cambiar LANG
agregando una línea como esta a ~/.bash_profile
:
export LANG=en_US.UTF-8
Después de eso, los comandos anteriores deberían imprimir algo como esto:
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
$ asd
bash: asd: command not found
LC_ALL
no tiene que ser configurado. LANG
y LC_ALL
son formas diferentes de cambiar las variables reales LC_
que se muestran entre LANG
y LC_ALL
anteriores. LANG
se utiliza como un valor predeterminado para las variables de configuración regional no configuradas. LC_ALL
anula las variables de configuración regional, incluso si se han establecido, y si está establecida, el cambio de otras variables de configuración regional no tiene ningún efecto.
Si desactiva "Establecer variables de entorno de configuración regional en el inicio" y no configura las variables de configuración regional en cualquier lugar, shells utilizará la configuración regional de C de forma predeterminada. Sin embargo, dificulta el trabajo con texto no ASCII. En bash, los caracteres no ASCII se muestran e insertan como secuencias de escape y, por ejemplo, ä
se interpreta como M-l
. Puede corregirlos mediante cambiando output-meta, input-meta y convert-meta in ~ / .inputrc , pero incluso entonces pbpaste
y pbcopy
jumble los caracteres UTF-8, ls
muestra los caracteres no ASCII como signos de interrogación, y no puede escribir caracteres que no sean ASCII en Emacs. En mi opinión, es más fácil utilizar una configuración regional UTF-8.