
Я не могу использовать свою настроенную команду псевдонима в утилите наблюдения для мониторинга других очередей. Он говорит, что команда не найдена. Есть ли способ использовать команду псевдонима в утилите наблюдения?
$ alias lq='ls -lhrt /home/foo/stat/*.msg'
$ watch lq
sh: lq: command not found
решение1
Нет простого ответа: лучшее, что я мог сделать, это добавитьфункция 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
функцию на , $(which watch)
а затем на alias watch=watchall
.
Если вы хотите отслеживать только один или два псевдонима, то, вероятно, проще всего будет добавить дополнительные псевдонимы, например:
alias watchlq='watch ls -lhrt /home/foo/stat/*.msg'
Конечно, вам нужно будет не забыть сменить обстановку, watchlq
если вы когда-нибудь решите что-то поменять lq
.