Markus Meyer <[EMAIL PROTECTED]> wrote: > On [Fri, Aug 19 15:08], Frank Küster wrote: >>Demnach sollte es doch mit foo=`dialog ... 2>&1` funktionieren; >>jedenfalls aber sollte eine Dialogbox gezeigt werden. Im Gegenteil, die >>manpage rät sogar von --stdout ab: > > Ok. Habe das Kleingedruckte nicht gelesen. Da muß jetzt auch zugeben, > daß das verwirrend ist. > >>und in der Tat kriege ich mit --stdout in meinem sid-chroot eine >>Fehlermeldung: >> >>$ foo=`dialog --stdout --nocancel --inputbox "Benutzername" 8 40 2>&1` >>$ echo $foo >>cannot open tty-output > > Hmm das hier > > -------------------- > #!/bin/bash > NAME="$(dialog --nocancel --stdout --inputbox "Benutzername" 8 40 2>&1)" > > echo $NAME > -------------------- > > klappt ohne Probleme. Auch mit Backticks :) > Ists vielleciht etwas Anderes bei dir, was da zwischenfunkt?
Ja klar, das ist halt ein chroot, wo das mit /dev/tty anders ausschaut als auf dem Hauptsystem. Das sollte nur illustrieren, dass es keine wirklich keine gute Idee ist, generell --stdout zu verwenden. Die eigentliche Frage ist doch, warum foo=`dialog --nocancel --inputbox "Benutzername" 8 40 2>&1` auf einem (zumindest auf meinem) ganz normalen System keine Dialogbox aufblendet (und foo auf "" setzt), während dialog --nocancel --inputbox "Benutzername" 8 40 2>&1 oder dialog --nocancel --inputbox "Benutzername" 8 40 2>texmpfile ein Fenster auftut und hinterher etwas in der Datei steht. Kriegt das mit `` aufgerufene Kommando kein stdout? Gruß, Frank -- Frank Küster Inst. f. Biochemie der Univ. Zürich Debian Developer