Standartausgaben in Variabeln speichern - bash
Ich beschäftige mich seit kurzen mit der Shell Programmierung und komme nicht mehr weiter.
Ziel des Programms ist es, Login und Username einer Sitzung (x2go) zu ermitteln und bei längerer Inaktivität zu löschen. Folgendes funktioniert bereits:
Als "echo" Ausgabe erhalte ich dann folgende Werte:
SESSIONDATE1=15
SESSIONDATE2=06
SESSIONDATE3=08
SESSIONDATE4=16
SESSIONDATE5=17
Dies sind dann die Variabeln, die ich für die weitere Programmierung benötige. Diese Variabel kann sich bis +19 auffüllen. Ich kriege es hin, dass mir die Variabel ausgegeben wird, aber ich kann sie nicht weiter verwenden, sie werden ja nicht definiert. Ich brauche nun eure Hilfe, um die "generierten" Variabeln abspeichern zu können. Wie löst man so etwas?
#!/bin/bashDATE=$(date +"%d")COUNTER_S=1STOP_COUNTER_S=20#Gibt das Session-Datum des letzten Logins auswhile [ $COUNTER_S -lt $STOP_COUNTER_S ]; do echo SESSIONDATE$COUNTER_S=$(x2golistsessions_root | awk {'print $2'} | sed -n $COUNTER_S'p' | sed -e 's/.*|//'| cut -c 1-2)"; COUNTER_S=$(( $COUNTER_S + 1)) done
Als "echo" Ausgabe erhalte ich dann folgende Werte:
SESSIONDATE1=15
SESSIONDATE2=06
SESSIONDATE3=08
SESSIONDATE4=16
SESSIONDATE5=17
Dies sind dann die Variabeln, die ich für die weitere Programmierung benötige. Diese Variabel kann sich bis +19 auffüllen. Ich kriege es hin, dass mir die Variabel ausgegeben wird, aber ich kann sie nicht weiter verwenden, sie werden ja nicht definiert. Ich brauche nun eure Hilfe, um die "generierten" Variabeln abspeichern zu können. Wie löst man so etwas?
Please also mark the comments that contributed to the solution of the article
Content-Key: 157185
Url: https://administrator.de/contentid/157185
Printed on: April 25, 2024 at 17:04 o'clock
2 Comments
Latest comment
Hallo thedani!
Ich kenn mich zwar mit Shell nicht so aus, aber wahrscheinlich geht es so:
...Wenn es nicht geht, sagt mir bitte auch wieso(will ja auch mal was lernen)
Mathe172
P.S.:Bitte Codeformatierungen benutzen...
Ich kenn mich zwar mit Shell nicht so aus, aber wahrscheinlich geht es so:
while [ $COUNTER_S -lt $STOP_COUNTER_S ];
do
SESSIONDATE$COUNTER_S=$(x2golistsessions_root | awk {'print $2'} | sed -n $COUNTER_S'p' | sed -e 's/.*|//'| cut -c 1-2)";
...
Mathe172
P.S.:Bitte Codeformatierungen benutzen...