Variablenschreibweise
-
Ich wusste jetzt net genau, wonach ich im Forum suchen sollte. Da ich ja selber net so genau weiss, was ich hier brauche
Es geht um folgendes ganz kleines Script
#!/bin/bash echo Mein Name ist $0 echo Mir wurden $# Parameter übergeben i=$# echo $i for ((a=1;a<=$i;a++)); do echo $a.Parameter = \$$a #hier will ich das er mir das jeweilige #Parameter ausgibt done
= \$$a
wie muss das hier denn geschrieben werden, damit er net $1 ausgibt sondern den Parameter dahinter.
Ich komme da einfach net drauf
Und eine andere Frage hätte ich noch.
gibt es ne Umgebungsvariable für die Netzwerkadresse des eigenen Rechners. ich hab schon mit env gesucht aber nix gefunden (Open Suse 10.2)
Wäre super nett, wenn mir jemand helfen könnte.
-
= ${!a}
-
Schüler schrieb:
gibt es ne Umgebungsvariable für die Netzwerkadresse des eigenen Rechners. ich hab schon mit env gesucht aber nix gefunden (Open Suse 10.2)
Da eine Netzwerkadresse einem Netzwerkinterface zugeordnet ist und ein Rechner durchaus mehrere davon haben kann, seh ich da wenig Chancen.
-
Danke namenlos
-
Eine Frage hätte ich jetzt noch.
Ich will ein Skript erstellen, das eine Meldung am Bildschirm ausgibt, wenn mehr als 5 Benutzer eingeloggt sind. So jetzt dachte ich mir des kann man sicher mit wc irgendwie managen. Also kam da bei mir bis jetzt folgendes raus.
#!/bin/bash a= 'who | wc -l' echo $a
Ich hab nur leider keinen Plan wie ich das Ergebniss von der Anweisung in die Variable bekomme. Könnte mir da jemand mit einer Erklärung helfen?
Wäre mal wieder spitze
-
Nimm Backticks statt single quotes.
Also ` und nicht '.
-
Also ich habs jetzt auch mal so getippt aber es will einfach net,egal ob mit oder ohne klammern
#!/bin/bash
#Erstellung Sie ein Skript, das eine Meldung am Bildschirm ausgibt, wenn mehr
#als 5 Benutzer eingelogt sindCount = $('who | wc -l')
echo $Countaber es will es mir einfach net ausgeben. Hab schon im I-Net überall gekuckt. Aber ich finde einfach net raus, wie man das Ergebniss des Befehls in eine Variable umleitet.
-
Du brauchst doch gar keine Klammern, Du brauchst nur Backticks (siehe oben).
Bzw. wenn Du unbedingt Klammern verwenden moechtest, dann tu das, aber lass die Quotes weg.
Und wenn Du dann noch "Count=asdf" statt "Count = asdf" schreibst, dann funktioniert es auch.
-
Vielen Dank für deine Gedult jetzt klappt es