Ich möchte einen Alias definieren, der alle x Sekunden einen Befehl ausführt, bis ein zugrunde liegender Prozess eine bestimmte Ausgabe liefert. Dann sollte der Befehl nicht mehr ausgeführt werden.
Ist das möglich und wenn ja, wie? Hilfe wird sehr geschätzt.
Ich bin fast zufrieden mit
alias test1='while true; do <command>; sleep 1; done'
außer ich muss es manuell stoppen und kann es daher nicht dazu bringen, einen neuen Befehl auszuführen, sobald er fertig ist.
Der Grund für die Frage: Dropbox synchronisiert sich bei der Arbeit schlecht. Manchmal muss ich es neu starten. Ich möchte dies mit einem Befehl tun, der auch angibt, wann die Synchronisierung abgeschlossen ist, z. B. mit
alias drop='dropbox stop && dropbox start && while true; do dropbox status; sleep 1; done'
Ich möchte, dass die Wiederholung gestoppt wird, wenn Dropbox 'Up to date' ausgibt.