Moin,
mittels zum Bleistift:
,----[ ein Beispiel ] | dialog --menu MENUE 12 60 4 punkt1 1 punkt2 2 punkt3 3 `----
kann ich ja in einen Script eine Abfrage einbauen. Aber wie komme ich an den ausgewählten Menüpunkt? Die man-page sage mir:
,----[ man dialog ] | When dialog exits, the tag of the chosen menu entry will be printed on stderr. `----
Wie bekomme ich das in eine Variable bzw. wie kann ich das in einem Script einbauen, um eine Programmverzeigung zu bekommen?
Andreas
On 17.08.02 Andreas Kretschmer (kretschmer@kaufbach.delug.de) wrote:
Moin,
mittels zum Bleistift:
,----[ ein Beispiel ] | dialog --menu MENUE 12 60 4 punkt1 1 punkt2 2 punkt3 3 `----
kann ich ja in einen Script eine Abfrage einbauen. Aber wie komme ich an den ausgewählten Menüpunkt? Die man-page sage mir:
,----[ man dialog ] | When dialog exits, the tag of the chosen menu entry will be printed on stderr. `----
Wie bekomme ich das in eine Variable bzw. wie kann ich das in einem Script einbauen, um eine Programmverzeigung zu bekommen?
Indem man in fremden Skripten spicken geht. Z.B. texconfig:
run_dialog \ --menu "\n\nSet up your editor and pager for this texconfig session.\n\n" \ 23 80 4 \ RETURN 'back to main menu' \ EDITOR 'set up editor for changing config-files' \ PAGER 'set up pager to view the logfile' \ LOG 'view logfile' \ 2>$tmpmenu || return ans=`cat $tmpmenu` test -z "$ans" && return case "$ans" in EDITOR) choose_editor ;; PAGER) choose_pager ;; LOG) clear; <$log eval $PAGER; fix_pager_more ;; RETURN) return ;; esac
run_dialog enthält lediglich eine Abfrage zum Terminal, bevor dialog gestartet wird. $tempmenu wird eine Variable sein, die den Namen eines temp. Files enthält. Wenn Dir der Gedanke, mit tmp. Files zu spielen nicht gefällt, könntest Du mit eval rumspielen.
H.
Hi Andreas,
On Sat, Aug 17, 2002 at 16:22:09 +0200, Andreas Kretschmer wrote:
,----[ ein Beispiel ] | dialog --menu MENUE 12 60 4 punkt1 1 punkt2 2 punkt3 3 `----
[...]
Wie bekomme ich das in eine Variable bzw. wie kann ich das in einem Script einbauen, um eine Programmverzeigung zu bekommen?
Ich mache sowas, indem ich stderr in eine temporaere Datei umleite und diese dann mit Kommandosubstitution in die Variable einlese.
TMP=/tmp/dia.$$ dialog --menu MENUE 12 60 4 punkt1 1 punkt2 2 punkt3 3 2> $TMP VAR="`cat $TMP`"
bye, Chris
On Sat, Aug 17, 2002 at 07:27:40PM +0200, Christian Perle wrote:
Hi Andreas,
On Sat, Aug 17, 2002 at 16:22:09 +0200, Andreas Kretschmer wrote:
,----[ ein Beispiel ] | dialog --menu MENUE 12 60 4 punkt1 1 punkt2 2 punkt3 3 `----
[...]
Wie bekomme ich das in eine Variable bzw. wie kann ich das in einem Script einbauen, um eine Programmverzeigung zu bekommen?
Ich mache sowas, indem ich stderr in eine temporaere Datei umleite und diese dann mit Kommandosubstitution in die Variable einlese.
TMP=/tmp/dia.$$
*kopfschüttel* Security Reports zu solchen Codestücken kommen doch nun wirklich viel zu oft. Bitte lieber TMP=$(tempfile) dafür benutzen.
Ciao, Tobias
Hi Tobias,
On Sat, Aug 17, 2002 at 17:56:47 +0200, Tobias Koenig wrote:
TMP=/tmp/dia.$$
*kopfschüttel*
Ich weiss auch, dass man keine vorhersagbaren Tempfilenamen verwenden sollte. Im Beispiel ging es aber im die Benutzung von dialog.
Bitte lieber TMP=$(tempfile) dafür benutzen.
Ausserdem kann man das Vorhandensein des Kommandos tempfile nicht voraussetzen.
bye, Chris
am Sat, dem 17.08.2002, um 16:22:09 +0200 mailte Andreas Kretschmer folgendes: [ Frage zu dialog ]
Danke für die Antworten. Die Idee mit temp. Dateien hatte ich ja auch schon, nur kommt/kam mir diese Lösung etwas umständlich vor. Geht aber wohl nicht anders.
Andreas
lug-dd@mailman.schlittermann.de