PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell-Script


Cyv
2011-02-15, 18:57:08
Moin,

ich arbeite mal wieder an einem größeren Shell-Script.
Ich prüfe momentan per Script die Verfügbarkeit eines anderen Hosts.
Allerdings möchte ich für diesen einen Ping-Befehl im Script die Ausgabe auf der Shell unterdrücken.

Wie geht das? Ich möchte ausschließlich den Ping auf der stdout unterdrücken, die anderen Befehle sollen nachwievor gesehen werden...

Danke

sei laut
2011-02-15, 19:31:30
&> /dev/null hintendran hängen?
Wobei ich gerade nicht weiß, ob man dann überhaupt mit if prüfen kann, ob der Befehl ausgeführt wurde oder nicht.

_CaBaL_
2011-02-15, 19:34:25
HOST=1.2.3.4

if ping -c1 ${HOST} > /dev/null 2>&1; then
echo "Host is Up"
else
echo "Host is Down"
fi

Cyv
2011-02-15, 20:01:46
Cool Danke.

Eine weitere Sache habe ich noch.

Ich übergebe mehrere Parameter an das Script.
Mit $# erfahre ich ja die Menge der Parameter.
Mit $1, $2, $3... greife ich auf den Inhalt der Parameter zu.

Da allerdings immer unterschiedlich viele Parameter übergeben werden möchte ich auf das letzte Parameter zugreifen, aber mit $[$#] bekomm ich immer nur ne leere Variable:freak:

Wie greife auf das letzte Parameter zu?

Danke ;)

//Die Antwort war falsch -.-

;)

Berni
2011-02-15, 23:07:51
Gibt da mehrere Lösungen, siehe http://stackoverflow.com/questions/1853946/getting-the-last-argument-passed-to-a-shell-script

_CaBaL_
2011-02-15, 23:30:34
Hab mir jetzt Berni's Link nicht angeschaut aber mit eval ist das machbar, wenn ich auch immer hören muss eval ist unsauber :D

eval LAST_VALUE=\${${#}}
echo ${LAST_VALUE}