PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dialog menü dynamisch erzeugen



dooley
09-08-2004, 13:40
gude,

ich bin gerade dabei mir ein menü zu erzeugen welches die momentan angemeldeten user im system auflistet. anschließend möchte ich mir mit
watch ps -U $user anschauen können was der so macht. (wenn einer ne
bessere idee hat nur her damit ;) )

bekomme die benutzer bereits ausgelesen und in ein array gespeichert.
aber wie kann ich daraus jetzt dynamish ein menü erzeugen ?

bin dankbar für jede hilfe.

gruß,

dooley

tuNIxM1TUniX
09-08-2004, 16:14
Ich würde es als Radioliste realisieren:



UserArray=( User1 User2 User3 )
Anzahl=${#UserArray[@]}
Zähler=0
Temp="dialog --clear --radiolist \"aktuelle Benutzer\" $(($Anzahl+6)) 50 $Anzahl"
while [ $Zähler -lt $Anzahl ] ; do
Zähler=$(($Zähler+1))
Temp="$Temp \"$Zähler \" \"${UserArray[$(($Zähler-1))]}\" off"
done
eval $Temp


Gruß

/Edit: Du weißt ja sicherlich ( ;) ), dass dialog die Auswahl auf STDERR ausgibt. Kannste beispielsweise mit
Temp="$Temp 2>/tmp/dialog.choice" vor dem 'eval' umleiten und anschließend '/tmp/dialog.choice' auswerten.

dooley
10-08-2004, 18:14
Hi,

Hab das heute eingebaut. Danke, das ganze klappt jetzt. Hab's aber trotzdem als Menü gemacht :). Anschließend führt das script ps -U in nem watch aus und kehrt zurück zum Userbildschirm. Das war noch ein bißchen problematisch. Hab's dann aber irgendwie gefixt.

Ah, mir fällt da gerade noch was ein. Kann ich dem watch irgendwie sagen, dass es z.B. mit q beenden soll anstatt mit Strg + C ?.

Gruß,

dooley