• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

case-Konstrukt bereitet Schwierigkeiten...

robi schrieb:
also denke ich mal, das man doch irgendwann mal das etwas entschärft hat.
Glaube ich immer noch, dass es eine Einstellungssache ist! Denn bei mir funktioniert es sowohl bei SLES 7 als auch bei SLES 8 korrekt. Bei SLES 7 ist die andere Notation der LC-Varialblen-Inhalte auffällig:
Code:
~> export LC_ALL=de_DE
~> locale
LANG=de_DE
LC_CTYPE="de_DE"
LC_NUMERIC="de_DE"
LC_TIME="de_DE"
LC_COLLATE="de_DE"
LC_MONETARY="de_DE"
LC_MESSAGES="de_DE"
LC_PAPER="de_DE"
LC_NAME="de_DE"
LC_ADDRESS="de_DE"
LC_TELEPHONE="de_DE"
LC_MEASUREMENT="de_DE"
LC_IDENTIFICATION="de_DE"
LC_ALL=de_DE
~> touch aa bb zz AA BB ZZ
~> ls   # man beachte die Sortierung
aa
AA
bb
BB
zz
ZZ
~> rm [a-z]*
~> ls
AA  BB  ZZ
~>
 
A

Anonymous

Gast
also an der reinen bash version liegts prinzipiell erst mal nicht. Habe mal auf einem 2.4.21-190-smp mit selber bash --version getestet dort ist es beim löschen so wie bei dir mit allen gesetzten LC_ALL Varianten. Allerdings ist auf diesem System default LC_ALL auf De_DE.88591 gesetzt und da ist auch die Sortierung A B C D Z a b c d z

Auf meiner Suse 9.1 habe ich als user LC_ALL=de_DE@euro und locale zeigt mir auch alles so an und mit rm [a-z]* lösch ich alles ausser ZZ.

Na ich glaube hier muss man etwas einfach vorsichtig sein, vor allem wenn man scripte schreibt, die auf fremden Rechnern laufen sollen.

robi

PS: habe mich grade mal mit nem Kollegen darüber unterhalten, der sagt das ist alles in /usr/lib/locale/..... in den Dateien configuriert, welche Datei wusste er jetzt auf Anhieb auch nicht. Scheinbar die /usr/lib/locale/*/LC_COLLATE aber das sind data-Dateien und so auf die schnelle schau ich da rein wie das Schwein ins Uhrwerk. Ist ja nun auch so ziemlich egal, jedenfalls scheint es so zu sein, dass zumindestens bei Suse 9.1 dort was anderes ausgeliefert wird, als man gemeinhin erwarten würde.
 
jedenfalls scheint es so zu sein, dass zumindestens bei Suse 9.1 dort was anderes ausgeliefert wird, als man gemeinhin erwarten würde.
Ich glaube das ist nicht nur bei SUSE so. Jedenfalls habe ich bei Ubuntu (Debian) ähnliche Probleme.
Dakuan
 
Das Problem ist die BASH. Wenn du mal die ksh installierst, funktioniert es richtig.

stefan@stefan:~/ueb$ ksh
$ touch aa BB cc DD ee ZZ
$ ls -l
insgesamt 0
-rw-r--r-- 1 stefan stefan 0 2005-04-08 14:51 aa
-rw-r--r-- 1 stefan stefan 0 2005-04-08 14:51 BB
-rw-r--r-- 1 stefan stefan 0 2005-04-08 14:51 cc
-rw-r--r-- 1 stefan stefan 0 2005-04-08 14:51 DD
-rw-r--r-- 1 stefan stefan 0 2005-04-08 14:51 ee
-rw-r--r-- 1 stefan stefan 0 2005-04-08 14:51 ZZ
$ rm [a-z]*
$ ls
BB DD ZZ
$
Gruß

Stefan
 
Oben