Ich habe mehrere Aliase und Funktionen, die früher nicht mit watch
funktionierten bis ich eine Funktion erstellt habe, die watch
umschließt Befehl wie dieser, inspiriert von @l'L'l akzeptierter Antwort:
# fishshell
function watch
command watch -n 0.2 -x fish -c "$argv"
end
# bash
function watch() {
watch -n 0.2 -x bash -c "[email protected]"
}
# zsh
watch() {
watch -n 0.2 -x zsh -c "[email protected]"
}
Der einzige Nachteil, den ich hier sehe, ist, dass Sie nicht mehr Überwachungsargumente übergeben können, wenn Sie möchten, ich habe natürlich den -n 0.2
hinzugefügt Flag, damit es alle 0,2 Sekunden aktualisiert wird. Wenn Sie andere Flags hinzufügen möchten, müssen Sie diese vorher hier hinzufügen.
Ich persönlich verwende nur fishshell
Ich hoffe also, dass die anderen nicht kaputt sind. Zögern Sie nicht, die Antwort zu bearbeiten, um die Befehle zu reparieren!
Auch als Bonus für die Faulen, die oft zuschauen:alias w=watch
Es ist möglich, dass watch
ist sich Ihrer connection_test_loop-Funktion nicht bewusst. Sie können versuchen, export
hinzuzufügen unterhalb der test_connection, um das Problem vielleicht zu lösen:
test_connection
export -f connection_test_loop
...
↳ http://linuxcommand.org/lc3_man_pages/exporth.html
Beim Aufruf von watch
, benötigen Sie möglicherweise diese Syntax:
watch -x bash -c connection_test_loop