Also habe ich einen Befehl in ~.bashrc mit dem Befehl alias tunes='...'
erstellt . Ich möchte also, dass dieser Befehl ein Musikvideo öffnet und sobald dieses Video vorbei ist, das nächste Video in der Reihe öffnet. Der Befehl, den ich verwende, ist:
alias tunes='cd /path/; xdg-open musicvideo.wav; xdg-open musicvideo2.wav;...; cd'
und so weiter. Was es tut, ist nur das letzte Musikvideo zu öffnen und dann zu beenden. Ich habe versucht, den ;
zu ändern mit &&
und es gibt mir das gleiche Ergebnis. Irgendeine Hilfe? Vielen Dank im Voraus.
Akzeptierte Antwort:
Wenn xdg-open
sofort öffnet und nicht wartet, erwägen Sie, den tatsächlichen Namen des von Ihnen verwendeten Musikplayers zu verwenden (Standard für Ubuntu wäre totem
) statt xdg-open
Alternativ kann auch Folgendes getan werden:
xdg-open file.wav ; while pgrep -f "file.wav" >/dev/null ; do : ; sleep 1 ; done
Dies wäre in einem Skript wahrscheinlich besser als in einem Alias, sodass Sie mehrere Zeilen hätten. Im Grunde genommen haben wir hier eine While-Schleife eingefügt, die uns daran hindert, zur nächsten Anweisung zu gehen, und wir prüfen wiederholt, ob es einen Prozess mit file.wav
gibt in seiner Befehlszeile. Sobald es keinen solchen Prozess mehr gibt, können Sie mit der nächsten Zeile von xdg-open
fortfahren