Não há uma resposta fácil: o melhor que pude fazer foi adicionar uma função watchany
contendo:
watchany() { alias "$1" 2>/dev/null| \
( t='line'; if [ -n "$t" ]; then t=${t#*=\'}; t=${t%\'}; shift; \
watch $t "$@"; else watch "$@"; fi ) }
Ele precisa ser uma função para evitar o processamento em um sub-shell (e os parênteses ()
são pelo mesmo motivo). Você pode adicioná-lo a .bashrc
.
Eu não o procurei até o final, mas como acima, ele não funciona adequadamente com arquivos ou parâmetros extras que contêm espaços em branco incorporados. Se isso for um problema, você terá que elaborar você mesmo.
Depois de se certificar de que está funcionando como deseja, você pode substituir watch
na função por $(which watch)
e, em seguida, alias watch=watchall
.
Se for apenas um ou dois aliases que você deseja assistir, provavelmente será mais fácil adicionar aliases extras, como:
alias watchlq='watch ls -lhrt /home/foo/stat/*.msg'
É claro que você precisará se lembrar de alterar watchlq
se você alterar lq
.