Mám několik aliasů a funkcí, které dříve nefungovaly s watch dokud jsem nevytvořil funkci, která obalí watch příkaz jako je tento, inspirovaný @l'L'l přijatá odpověď:
# fishshell
function watch
command watch -n 0.2 -x fish -c "$argv"
end
# bash
function watch() {
watch -n 0.2 -x bash -c "example@unixlinux.online"
}
# zsh
watch() {
watch -n 0.2 -x zsh -c "example@unixlinux.online"
}
Jedinou nevýhodu, kterou zde vidím, je, že nemůžete předat více argumentů pro hodinky, pokud chcete, pro jistotu jsem přidal -n 0.2 příznak, aby se obnovoval každých 0,2 sekundy, pokud chcete přidat další příznaky, budete je muset přidat předem.
Osobně používám pouze fishshell takže doufám, že ostatní nejsou rozbité, neváhejte upravit odpověď, abyste opravili příkazy!
Také jako bonus pro líné, kteří často používají hodinky:alias w=watch
Je možné, že watch nezná vaši funkci connection_test_loop. Můžete zkusit přidat export pod test_connection možná problém vyřešit:
test_connection
export -f connection_test_loop
...
↳ http://linuxcommand.org/lc3_man_pages/exporth.html
Při volání watch , možná budete potřebovat tuto syntaxi:
watch -x bash -c connection_test_loop