ubuntuusers.de

Befehl locale gibt falsches Ergebniss

Status: Gelöst | Ubuntu-Version: Kubuntu 9.04 (Jaunty Jackalope)
Antworten |

GPW

Anmeldungsdatum:
20. Oktober 2006

Beiträge: 22

Hallo,

da ich ein englisches Kubuntu verwende, habe ich in meiner .bashrc ein paar LC_* Variablen gesetzt:

1
2
3
...
export LC_TIME="de_DE.UTF-8"
...

Befehle zum Abfragen der Variable:

1
2
3
4
5
6
7
$ locale
...
LC_TIME=en_US.UTF-8
...

$ env | grep LC_TIME
LC_TIME=de_DE.UTF-8

Wie man sieht, geben die beiden Varianten der Abfrage unterschiedliche Ergebnisse. locale reagiert nur, wenn ich LC_ALL setze. Dann sind logischerweise allerdings alle LC_* Variablen auf de_DE.UTF-8 gesetzt. Hat jemand eine Erklärung für dieses Verhalten von "locale".

Ich verwende Kubuntu 9.04 i386 (dieses Phänomen tritt auf drei verschiedenen Rechnern auf)

GPW

(Themenstarter)

Anmeldungsdatum:
20. Oktober 2006

Beiträge: 22

Ich habe das ganze noch mal mit einem Ubuntu 8.04 in Virtualbox ausprobiert. Hier reagiert locale so wie ich es eigentlich erwarte. Ist dies also ein Bug in 9.04?

GPW

(Themenstarter)

Anmeldungsdatum:
20. Oktober 2006

Beiträge: 22

OK, Verständnisproblem meinerseits. In meinem System war LC_ALL schon in /etc/environment gesetzt. Die beschreibung zu LC_ALL sagt jedoch:

LC_ALL
  This variable determines the values for all locale categories. The value of the LC_ALL environment variable has precedence 
  over any of the other environment variables starting with LC_ (LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, 
  LC_TIME) and the LANG environment variable. 

Entweder ich setze LC_ALL in meiner .bashrc zurück, oder ich lösche den Eintrag aus /etc/environment. Dann funktioniert auch alles.

Antworten |