Add new comment

Kommando nur einmal ausführen

Submitted by Erik Wegner on
Body

Eine Anwendung führt beim Eintreten eines Ereignisses einen Shell-Befehl aus. Dieser Befehl soll eine Sounddatei abspielen. Allerdings passiert es, dass die Ereignisse zu schnell hintereinander eintreffen und sich die Geräusche überschneiden. Deshalb soll die Datei nur abspielt (der Befehl ausgeführt) werden, wenn er noch nicht aktiv ist. Dazu kann das folgende Befehlskonstrukt verwendet werden:

$(ps ax | grep -w aplay | grep -vq "grep") || aplay /home/user1/sound.wav

Wichtig ist der Parameter "-q" am zweiten grep, er sorgt dafür, dass WAHR/FALSCH zurückgegeben wird.

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.