Нет простого ответа: лучшее, что я мог сделать, это добавить функцию watchany
содержащую:
watchany() { alias "$1" 2>/dev/null| \
( t=`line`; if [ -n "$t" ]; then t=${t#*=\'}; t=${t%\'}; shift; \
watch $t "$@"; else watch "$@"; fi ) }
Это должна быть функция, чтобы избежать обработки в под-оболочке (и скобки ()
по той же причине). Вы можете добавить его в .bashrc
.
Я не преследовал его до конца, но, как указано выше, он не работает должным образом с файлами или дополнительными параметрами, содержащими встроенные пробелы. Если это проблема, вам придется разработать ее самостоятельно.
Когда вы убедились, что он работает так, как вы хотите, вы можете заменить watch
в функции на $( that $(which watch)
а затем alias watch=watchall
.
Если вы хотите просмотреть только один или два псевдонима, то, вероятно, проще всего добавить дополнительные псевдонимы, такие как:
alias watchlq='watch ls -lhrt /home/foo/stat/*.msg'
Конечно, вам нужно помнить, чтобы изменить watchlq
если вы когда-либо измените lq
.