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

Umlaute in Bash Skripten

fabmo

Member
Hallo,

ich habe folgendes Problem:
In einem Shell Skript habe möchte ich von einem Linux Rechner Suse10.2 FVWM etwas auf einem Windows Rechner mit Cygwin kopieren.

Das Problem ist, dass ich in den Startmenü Ordner kopieren möchte.

Der Befehl

scp programm.exe user@rechner:"...\Startmenü\"

wird nicht richtig Interpretiert. Statt dem ü entstehen immer irgendwelche Sonderzeichen.

Kennt da jemand ne Lösung für?
 

pft

Advanced Hacker
wenn dein Windows mindestens XP ist könnten eigentlich beide mit UTF-8 arbeiten. ZU deinem Linux sagst Du leider nix - Suse nutzt seit einiger Zeit defaultmäßig UTF-8..

Aber:
Heißt der Ordner wirklich so. Was im Explorer steht ist oft nicht das gleiche was die shell anzeigt.
Auch: kann scp auf die langen Dateinamen zugreifen oder musst Du die kurze 8.3 version nehmen?
 
OP
F

fabmo

Member
Das komische ist, wenn ich den Befehl mit scp von Hand eingebe klappt es, wenn ich es aber in ein Shellskript verpacke geht es nicht.
Als Interpreter nutze ich /bin/bash
 

byron1778

Hacker
Fuehre das Shellscript mit der Option #!/bin/sh -x aus und poste den Output.
Am besten poste das komplette Shellscript samt dem Consolenoutput!
 
OP
F

fabmo

Member
Hallo,

also die betreffende Zeile im Skript lautet
Code:
scp -o ConnectTimeout=2 -o NumberOfPasswordPrompts=0 -o StrictHostKeyChecking=no psshutdown.exe user@${i}:"/cydrive/c/Dokumente\ und\ Einstellungen/user/Startmenü/Programme/Austostart"

Der Output lautet

Code:
 scp -o ConnectTimeout=2 -o NumberOfPasswordPrompts=0 -o StrictHostKeyChecking=no psshutdown.exe 'user@c1:/cydrive/c/Dokumente\ und\ Einstellungen/user/Startmenü/Programme/Austostart'
scp: /cydrive/c/Dokumente und Einstellungen/user/Startmenü/Programme/Austostart: No such file or directory

Der Rechner von dem ich das Skript ausführe ist ein anderer, als der von dem ich hier gerade Schreibe. Komischerweise hat er nun im Output die ü richtig gesetzt. Normalerweise steht bei den Output Zeilen anstelle des ü´s irgendwelcher Müll.
Kann das daran liegen, dass ich FVWM als WM benutze?
 

byron1778

Hacker
Hallo!

Also wenn ich mir die Fehlermeldung durchlese hat er ein Problem mit dem richtigen Pfad.

scp: /cydrive/c/Dokumente und Einstellungen/user/Startmenü/Programme/Austostart: No such file or directory

Woran das jetzt genau liegt, kann ich dir leider selber nicht sagen, da ich FVWM nicht benutze!
Zumindest die Fehlermeldung wuerde ich mir vll. genauer ansehen, vll. hilft diese weiter?!
 
OP
F

fabmo

Member
Nee, es liegt nicht am falschen Pfad, die Shell interpretiert umlaute einfach Falsch
 

pft

Advanced Hacker
Kann das daran liegen, dass ich FVWM als WM benutze?

Das sollte primär an der jeweiligen Zeichenkodierung liegen, was allerdings ein weites Feld sein kann. Wer mittels putty (ssh client für Windows) auf Linux rechner zugreift weiß wieviele Punkte es da zu einzustellen gibt.

Primär solltest DU mal sehen ob Du auf beiden Seiten mit UTF-8 arbeitest. Bzw mit was sonst. Hatte ich das nicht schon mal gefragt?

Wenn nicht stellt sich die Frage inwieweit scp hier mappen kann oder Du einfach die Zeichen "escapen" musst, sprich den Code fürs Zielsystem direkt angeben.
 
OP
F

fabmo

Member
Hallo,

ich habe herausgefunden, dass wenn ich das Skript mit xemacs bearbeite es keine Probleme gibt. Wenn ich dagegen mit kwrite arbeite taucht geanu dieser Fehler auf. Muss wohl daran liegen, dass kwrite nicht mit UTF-8 arbeitet.
 

pft

Advanced Hacker
well kwrite ist ja auch wirklich nicht dafür geeignet auch wenn ich ich vermehrt auf Leute treffe die sogar Mail mit Office / Open office schreiben. Auch da führt das i.d.R. zu vergleichbaren Problemen.

Note: skripte bzw. jegliche Programme schreibt man mit einem Editor. Egal welchen Begriff Du für Kwrite verwenden willst (Textprogramm, Textverarbeitung, Wordprocessor ... ) ein editor ist es nicht.
Der Unterschied ist, das es massiv zusätzliche Layout Informationen verwaltet die Du nicht gebrauchen kannst. Daher braucht es sich auch nicht an irgendlwelche Normen zur Zeichenkodierung halten. Reines wegfiltern reicht leider nicht immer oder ist zumindestens fehleranfällig wie Du hier schön bewiesen hast.
 
OP
F

fabmo

Member
Hallo,

ich arbeite eigentlich ganz gern mit Kwrite. Emacs finde ich persönlich nicht so toll. Welche Editoren nutzt ihr so?

Mein Problem habe ich auch wenn gegen meinen Willen nun mit emacs gelöst.


Danke nochmal
 

pft

Advanced Hacker
Tja, da hast Du wohl recht. Muss es wohl mit KWord verwechselt haben.
Man sollte halt nicht über etwas schreiben was man nicht wirklich kennt - Asche auf mein Haupt :eek:ps:
 
Oben