¿Alias ​​​​personalizado de Linux en el comando de vigilancia?

¿Alias ​​​​personalizado de Linux en el comando de vigilancia?

No puedo usar mi comando de alias personalizado en la utilidad de vigilancia para monitorear colas diferentes. Dice comando no encontrado. ¿Hay alguna forma de usar un comando con alias en la utilidad de vigilancia?

$ alias lq='ls -lhrt /home/foo/stat/*.msg'

$ watch lq
sh: lq: command not found

Respuesta1

No hay una respuesta fácil: lo mejor que pude hacer fue agregar unfunción watchanyque contiene:

watchany() { alias "$1" 2>/dev/null| \
  ( t=`line`; if [ -n "$t" ]; then t=${t#*=\'}; t=${t%\'}; shift; \
    watch $t "$@"; else watch "$@"; fi ) }

Debe ser una función para evitar el procesamiento en un subnivel (y los ()corchetes son por la misma razón). Puedes agregarlo a .bashrc.

No lo he llevado al máximo, pero como se indicó anteriormente, no funciona correctamente con archivos o parámetros adicionales que contienen espacios en blanco incrustados. Si esto es un problema, tendrás que elaborarlo tú mismo.

Cuando esté satisfecho de que está funcionando como desea, puede reemplazar watchla función por $(which watch)y luego alias watch=watchall.

Si solo desea ver uno o dos alias, entonces probablemente sea más fácil agregar alias adicionales, como por ejemplo:

alias watchlq='watch ls -lhrt /home/foo/stat/*.msg'

Por supuesto, deberá recordar cambiar watchlqsi alguna vez cambia lq.

información relacionada