Joerg Thuemmler [09.07.2013 13:27]:
Hi,
ich habe auf meinem Server (OS11.4 evergreen, Unicode off derzeit) ein Überwachungsscript, welches mir so allerlei anzeigt, was im Netzwerk und auf diversen Systemen so los ist (nein, ich will nicht auf Nagios umsteigen). Unter anderem werden auch die Freigaben von Windows-PCs überwacht, zur Info erstmal mit smbclient. Wenn diese Freigaben Umlaute (i.allg. nur bei den Kommentaren) enthalten, zeigt smbclient -L <winhost> das - manuell aufgerufen - auch korrekt an. In einem script, welches via bash -c aufgerufen wird, führen diese -auf jeden Fall das "ü" - aber zum Verlust aller folgenden Zeichen bis zum Zeilenende, d.h. die folgende Ausgabezeile von smbclient klebt am dem ü vorhergehenden Zeichen dran. Ein "echo äöü" in dem betreffenden Script gibt die Umlaute aber korrekt aus... Das "bash -c"-aufrufende Script wird in /etc/rc.d/local gestartet.
Wie kann ich ggf. smbclient korrekt mitgeben, welchen Zeichensatz es ausgeben soll, ich nehme mal an, es ist irgendein UTF-Ding?
Ich vermute mal, bei Root steht LANG=C und beim User irgendetwas anderes (bei mir de_DE.UTF-8, bei Dir vielleicht de_DE.iso8859-15). Schreibe also direkt vor den Aufruf von smbclient (in dieselbe Zeile) die LANG-Einstellung und smbclient sollte die erwünschte Ausgabe bringen. Beispiel also alt: smbclient -L winhost neu: LANG=de_DE.iso8859-15 smbclient -L winhost HDH, Werner -- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org