Page 1 of 1

Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 14:24
by mabraham
Hi,
finde leider nicht das richtige Forum dafür. Hab einen Accout in einem BSD-Jail mit minimalem Zugriff auf die eigentliche Hardware.

Mein Problem ist nun, dass ich Ping in der Shell nur ohne Optionen nutzen kann und nun gerne einen Workaround schreiben würde, der Ping nach der Ausgabe der ersten Zeile abbricht.

Die Zeile soll trotzdem an die Standardausgabe gesendet werden.

Würds gerne über ein Shellscript lösen, habe davon aber keine Ahnung.

Weiss irgendjemand hier, wie das gehen würde?

Martin

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 14:30
by Joe User
man bash
man head
man ...

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 14:49
by mabraham
head -n 1 | ping example.com

Gibt lediglich den unendlichen Ping aus.
Wie breche ich den Ping aber ab?

Martin

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 15:15
by captaincrunch
man ping wrote: -c count
Stop after sending count ECHO_REQUEST packets. With deadline
option, ping waits for count ECHO_REPLY packets, until the
timeout expires.

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 15:22
by mabraham
Das Problem ist, dass mir der Ping nur ohne Optionen zur Verfügung steht. Also ohne die Count-Option.

Daher such ich ja den Workaround.

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 16:02
by mem
Geht bestimmt auch einfach(er).

Code: Select all

ping 127.0.0.1 > /tmp/out|sleep 2|killall -9 ping;tail -n 1 /tmp/out
Kannst auch die PID vorher auslesen und den passenden Prozess killen.

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 17:03
by mabraham
sowas habe ich gesucht. Danke schonmal

Leider gibts den Fehler:

Ambiguous output redirect (wg. > und | hinter ping ).
Ne Idee, wie man das umgehen könnte?

Martin

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 17:18
by mem
Recht hat er. Ist ja auch voelliger Unsinn eigentlich.

Code: Select all

ping 127.0.0.1 > /tmp/out&sleep 2;killall -9 ping;tail -n 1 /tmp/out

Re: Kommando nach erster Ausgabe abbrechen

Posted: 2004-06-30 17:19
by Joe User

Code: Select all

ping 127.0.0.1 2>&1 | tee /tmp/out | sleep 2 | killall -9 ping
tail -n 1 /tmp/out