> -----Original Message----- > From: Michael Tuschik [mailto:[EMAIL PROTECTED] > Sent: Wednesday, April 02, 2003 9:35 AM > To: [EMAIL PROTECTED] > Subject: Re: bashscript und inetd > > > > > -----Ursprüngliche Nachricht----- > > Von: Andre Frimberger [mailto:[EMAIL PROTECTED] > > Gesendet: Dienstag, 1. April 2003 22:44 > > > > > > mach ich ein echo $username, geht alles... > > das verrückt dadran ist: > > USERNAME="HALLLLLOOOOO"; > > PASSWORD="TEEEEEEESSSST"; > > echo $MOUNT_PATH -t smbfs -o > username=$USERNAME,password=$PASSWORD -o ro > > -o debug=0 //$WINDOWS_COMPUTERNAME/$WINDOWS_SHARE $LOCAL_PATH; > > funktioniert. > > Aber kommen $username und $password von read, werden teile > > abgeschnitten ?!? > > > > ... ist irgendwie ziemlich wirr! > > (wehe es behauptet nochmal jemand Computer würden logisch > > sein ;-) ) > Hallo Michael,
> > Wenn man weiß, woran es liegt, ist auch wieder alles ganz logisch ;-) ... das ist wohl meistens so :) > Wenn du das Script über inetd startest, kommen die Eingaben > ja über TCP. ja, das is klar > Und hier werden für Zeilenumbrüche 0x0D 0x0A verwendet und nicht, wie ahh... (und ein Lichtlein ging auf ;) ) > unter UNIX üblich, nur 0x0A. Da die bash davon nix weiß, > ließt sie beim > read eben solange, bis ein 0x0A kommt, und packt das 0x0D mit in deine > Variablen. Und da 0x0D ja Carriage Return heißt, fährt er > beim echo den > Cursor immer schön an den Anfang der Zeile zurück und > überschreibt dort > das bisher ausgegebene. erklärt alles... :) > Hänge doch mal ein "| hexdump -C" an dein echo hinten dran, > dann siehst > du, was ich meine. jo, stimmt... ich glaub da hätt ich in 100 Jahren noch gesucht *g* zumal ich immer den Fehler in meinem Script vermutet habe. > > Eine schnelle Lösung mit bash-Boardmitteln wäre, die beiden Variablen > nach dem read um das letzte Zeichen zu beschneiden: > > username=${username:0:${#username}-1} > password=${password:0:${#password}-1} > > Leider funktioniert das dann nicht mehr im Terminal sondern nur noch > per inetd. Aber es gibt sicher noch viele andere Wege, das Problem > zu beseitigen/zu umgehen. ja, man kann ja in der inetd dem Script noch einen Parameter mit übergeben. Die frägt man dann einfach ab und je nach dem beschneidet man die Variable. Gruss und Danke :) André Frimberger -- 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)