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.