Saya memiliki beberapa masalah dengan penyandian umlaut Jerman di bash. Sebagian besar berfungsi dengan baik, tetapi ketika saya mengetik perintah yang tidak valid, pesan kesalahan yang dihasilkan oleh bash berisi urutan pelarian yang aneh dan bukan karakter yang sebenarnya.
Berikut ini adalah log, yang menunjukkan masalah:
[root@myhost ~]# mkdir ä
[root@myhost ~]# ä
-bash: $'\303\244': Kommando nicht gefunden.
[root@myhost ~]# ü
-bash: $'\303\274': Kommando nicht gefunden.
[root@myhost ~]# ls
ä äöü Projects tbb
[root@myhost ~]# cat äöü
äüö
[root@myhost ~]# rm ä
rm: Entfernen von „ä“ nicht möglich: Ist ein Verzeichnis
[root@myhost ~]# rmdir ä
[root@myhost ~]# rm äöü
konfigurasi saya /etc/rc.conf
:
LOCALE="de_DE.UTF-8"
DAEMON_LOCALE="no"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Berlin"
KEYMAP="de-latin1"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"
/etc/locale.gen
hanya berisi lokal de_DE:
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
locale
keluaran:
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
bash
arch-linux
character-encoding
smerlin
sumber
sumber
$ ö bash: $'\303\266': command not found
Jawaban:
Ini sepertinya diperkenalkan dengan bash 4.2. Anda dapat melaporkan ini sebagai bug ke pengembang bash.
sumber