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.