Stefan Blechschmidt <[EMAIL PROTECTED]> writes:
> Ein kleines Skript das mir die Gr��e des Sicherungsvolumens berechnet,
> funktioniert nur wenn die Variabel '[EMAIL PROTECTED]' exportiert wird.
> Exports mit 'de_DE' oder 'C' funktionieren nicht.
> Ich bekomme dann die Fehlermeldung " (standard_in) 1: parse error ".
> Kann sich das einer von euch erkl�ren?
Eines f�llt jedenfalls gleich auf:
> yes=$( (du -cb $(cat $pfad/redtux.yes) 2>/dev/null ) | grep insgesamt | awk '{print
> $1}')
> no=$((du -cb $(cat $pfad/redtux.no) 2> /dev/null )| grep insgesamt | awk '{print
> $1}')
yes und no bleiben leeer, wenn die Sprache anders als deutsch ist.
> erg=$(echo "scale=10;($yes - $no) / 1024 / 1024" | bc)
Und das ergibt dann einen parse error von bc, wie Du ja feststellst.
> funktioniert nur wenn die Variabel '[EMAIL PROTECTED]' exportiert wird.
> Exports mit 'de_DE' oder 'C' funktionieren nicht.
Klar ist, dass es mit [EMAIL PROTECTED] geht und mit LANG=C nicht
(vorausgesetzt, LC_MESSAGES und LC_ALL sind leer oder nicht existent).
Was sagt locale -a? Wenn de_DE nicht aufgef�hrt ist, w�re erkl�rt,
warum es damit nicht geht.
Noch was: Es ist generell schlecht, shell-Skripte zu bauen, die das
Vorhandensein von bestimmten locales voraussetzen. Das gilt sowohl f�r
de_DE als auch [EMAIL PROTECTED] Besser ist es, "C" oder "POSIX" zu
verwenden. Und Dein workaround:
> export [EMAIL PROTECTED]
ist doppelt b�se, weil er 1) eine deutsche locale voraussetzt und 2)
eh ignoriert wird, falls LC_MESSAGES oder LC_ALL auf etwas anderes
zeigen.
Shell-Skripte, die Texte auswerten, sollten immer LC_ALL=C oder
LC_ALL=POSIX explizit setzen. LC_ALL �berschreibt die LC_- und LANG -
Variablen und C bzw. POSIX ist immer vorhanden.
HTH,
Heike
--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)