J'ai plusieurs alias et fonctions qui ne fonctionnaient pas avec watch
jusqu'à ce que je crée une fonction qui enveloppe le watch
commande comme celle-ci, inspirée de la réponse acceptée de @l'L'l :
# 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]"
}
Le seul inconvénient que je vois ici est que vous ne pouvez pas passer plus d'arguments de montre si vous le souhaitez, bien sûr moi j'ai ajouté le -n 0.2
drapeau pour le rafraîchir toutes les 0,2 secondes, si vous avez d'autres drapeaux que vous souhaitez ajouter, vous devrez les ajouter ici au préalable.
Personnellement, je n'utilise que fishshell
donc j'espère que les autres ne sont pas cassés, n'hésitez pas à éditer la réponse pour corriger les commandes !
Aussi en bonus pour les paresseux qui utilisent souvent la montre :alias w=watch
Il est possible que watch
n'est pas au courant de votre fonction connection_test_loop. Vous pouvez essayer d'ajouter un export
sous le test_connection pour peut-être résoudre le problème :
test_connection
export -f connection_test_loop
...
↳ http://linuxcommand.org/lc3_man_pages/exporth.html
En appelant le watch
, vous aurez peut-être besoin de cette syntaxe :
watch -x bash -c connection_test_loop