1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Umlaute und das Terminal

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von Jan, 01.11.05.

  1. Jan

    Jan Gast

    Hallo,

    ich habe folgendes Problem, ich möchte ein shell script programmieren, welches zum Beispiel
    einen Ordner namens "Öffentlich" anlegt. Soweit so gut. Tippt man manuell "mkdir Öffentlich"
    wird "mkdir \303\226ffentlich" daraus gemacht.

    Aktion ausgeführt => Ordner "Öffentlich" vorhanden.

    Nun ein shell script verfasst mit folgendem Inhalt:

    Aufgerufen & augeführt => mkdir: ?ffentlich: Invalid argument

    Soweit so gut. Versuchen wir es doch mal mit:

    Aufgerufen & ausgeführt => Ordner namens "303226ffentlich" wurde angelegt.

    Zurück zur Frage: Was mach ich falsch bzw. was kann ich tun um dieses Problem zu lösen?
     
  2. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Ich habe gerade ein ähnliches Problem mit einem Skript. Seit ich es mit UTF-8 Encoding abgespeichert habe, kommt rsync zB mit Umlauten und japanischen Zeichen problemlos zurecht. Leider hab ich mit so grundlegenden Dingen wie ls und rm immer noch die Probleme, daß diese nicht mit dem richtigen Encoding ausgeben was die Weiterverarbeitung erschwert.

    Ich weis, es ist nur wenig Info, aber vielleicht hilfts ja.
    Gruß Pepi
     
  3. Jan

    Jan Gast

    Hallo Pepi,

    also ich habe das natürlich gleich mal ausprobiert,
    leider bekomme ich bei einem UTF8 codiertem
    shell script folgende Fehlermeldung beim Aufruf:

    -bash: ./start.sh: cannot execute binary file

    Das ist's dann noch nicht. Zurück nach Mac Roman konvertiert funktioniert's wieder.

    Der Jan
     
  4. Cyrics

    Cyrics Neuer Berner Rosenapfel

    Dabei seit:
    01.04.05
    Beiträge:
    1.975
    hmmm, ich frag mich ehrlich gesagt wo das Problem ist...
    ihr könnt doch beim Terminal die Umlaute eintippen.
    Die werden halt bloss als Escape-Befehl umschreiben.

    in der GUI sind die Dateien/Ordner dann aber richtig mit den Umlauten bezeichnet.
    Wenn ihr dann mit den Ordnern oder Dateien im Terminal arbeiten wollt (dann sollte man übrigens keine Umlaute nutzen, wenn man damit im Termnal arbeiten will ;) ), dann tippt ihr einfach den Anfangsbuchstaben (bei ö = o, bei ü = u, bei ä = a) ein, und drückt dann mal Tab...

    beim Beispiel "Öffentlich" wäre das dann

    cd O -> Tab... das Terminal ergänzt selbstständig, falls kein anderer Ordner mit O anfängt. Bei Doppel-Tab würde iht sonst sehen welcher Ordner sonst noch mit O anfängt.

    Allgemein ist es schwierig, wenn der Umlaut gleich der erste ist... wenn er mitten drin ist, ist es ja leicht, da es selten solche Übereinstimmungen mit einem anderen Ordner gibt...

    vielleicht wisst ihr ja das alles, was ich mir eigentlich denke. Aber bevor man in der Shell rumspielt, ist das wohl immer noch der ienfachste weg, wenn man schon seine Ordner mit Umlauten bezeichnen muss ;)

    PS: und der OSX-Ordner "Öffentlich" heisst im Terminal "Public"....
     
  5. atl

    atl Niederhelfenschwiler Beeriapfel

    Dabei seit:
    04.11.04
    Beiträge:
    842
    Also die wenigsten Probleme habe ich mit Westeuropäisch (ISO Latin 1) oder auch Westeuropäisch (Windows Latin 1).

    ByE...
     
  6. Jan

    Jan Gast

    Hallo Cyrics,

    es scheint mir, dass du den Anfang dieses Themas nicht ganz mitbekommen hast.
    Ich hatte bereits erwähnt, dass beim Tippen von deutschen Umlauten im Terminal
    der Excape-Wert des Zeichens geschrieben wird.
    Dies ist jedoch eine Fenstereinstellung und kann auch unterbunden werden.

    Ich habe kein Problem damit einen Ordner oder eine Datei mit der Tab-Vervollständigung
    zu finden sondern muss einen Ordner per Skript generieren können und leider ist es möglich,
    dass der Ordnername auch Sonderzeichen beinhaltet.

    Das mit dem Ordner namens "Öffentlich" war nur ein Bespiel, es hätte genauso "Ähnliches" sein
    können. Ferner versuche ich mich ernsthaft mit diesem Problem zu beschäftigen und nicht
    in der Shell "rumzuspielen".

    Trotzdem danke ich dir für deinen Kommentar.

    Der Jan
     
  7. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.904
    Du benutzt BBEdit oder so?
    Du musst die Codierung "UTF-8 ohne BOM" verwenden.
    Oder gleich TextEdit.

    (UTF-8 *mit* BOM stellt der Datei einen 3 Byte grossen, binären Bang voran...den UTF-8 Tag eben...den mag die Shell nicht.)
     
  8. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    In Deiner Shellkonfiguration kannst Du dies probieren:
    Code:
    LC_ALL=en_US.UTF-8
    export LC_ALL
    
    LANG=en_US.UTF-8
    export LANG
    
    Wahlweise auch mit de_DE.UTF-8 ;)
     
  9. ulukaii

    ulukaii Idared

    Dabei seit:
    22.02.07
    Beiträge:
    28
    ...

    letzte Antwort ist zwar ein bisschen her, aber weil ich gerade das selbe Problem hatte. (Unter SuSE Linux Enterprise Server 10)

    ausführen oder in die /etc/profile.local einfügen:

    Code:
    export LANG=de_DE@euro
    export LC_MESSAGES=de_DE@euro
    export LC_CTYPE=de_DE@euro
    
     
  10. Hobbes_

    Hobbes_ Gast

    Allgemein hat ja MacMark mal ein gutes Tut dazu geschrieben: Wirklich praktisch für all diese Probleme mit den Umlauten:

    Link

    Gruss
    psc

    EDIT: Oh, ist ein aufgewärmter Uralt-Thread. Dennoch: Der Link auf MacMarks Tut hat seinen Platz :)
     

Diese Seite empfehlen