Dies ist eine Frage in der Fortsetzung von diesem: UTF8-Dateinamen und Shell-Dienstprogramme : der alptraum von utf-8 und dateinamen ist….
Wie vermeide ich diese Verwechslung vor allem mit dem ls
Befehl für Dateinamen, die auf folgende Weise erstellt wurden:
$ echo $LANG
en_US.UTF-8
$ mkdir test
$ cd test
$ touch á
$ touch a´
$
Die erste Datei wird durch Eingabe erstellt alt ⌥ + E , EIN , der zweite durch Eingabe EIN , alt ⌥ + Shift ⇧ + E
Innerhalb eines xterm
Fenster bekomme ich:
$ ls -al
total 0
drwxr-xr-x 2 hal admin 136 Nov 11 15:52 .
drwxr-x--- 7 hal admin 4386 Nov 11 14:25 ..
-rw-r--r-- 1 hal admin 0 Nov 11 15:52 a´
-rw-r--r-- 1 hal admin 0 Nov 11 15:48 a´
$
Was falsch ist.
Innerhalb eines Terminal
Fenster bekomme ich:
$ ls -al
total 0
drwxr-xr-x 2 hal admin 136 Nov 11 15:52 .
drwxr-x--- 7 hal admin 4386 Nov 11 14:25 ..
-rw-r--r-- 1 hal admin 0 Nov 11 15:52 a´
-rw-r--r-- 1 hal admin 0 Nov 11 15:48 á
$
Welches ist richtig.
Das Ergebnis ist das gleiche, egal welche Shell ich benutze: bash
oder zsh
.
Was
xterm
oder XQuartz
Durch die Einstellung wird vermieden, dass diese 2 Dateinamen fälschlicherweise gleich aussehen. Dieses Problem tritt bei Mavericks (MacOS X 10.9) nicht auf.
echo $LANG
Ich bin in einem voll utf-8-Modus bis zur Shell-Ebene.