¿Es posible poder ingresar foo
y hacer que bash lo convierta automáticamente a time foo && notify-send "PLAYBOOK COMPLETE"
?
Me gustaría específicamente que esto se aplique solo a ansible-playbook
los comandos (para aquellos que no están familiarizados con Ansible, puede seguir cualquier cantidad de opciones, argumentos, etc., ansible-playbook
por lo que un simple alias probablemente no funcione) para recibir una notificación cuando se complete un libro de jugadas largo. ha terminado.
Un comando antes de cada comando bashParecía prometedor, pero desafortunadamente no funcionó correctamente para mí.
Respuesta1
Con una función de shell:
function ansible-playbook { time command ansible-playbook "$@" && notify-send "PLAYBOOK COMPLETE"; }
o
ansible-playbook () { time command ansible-playbook "$@" && notify-send "PLAYBOOK COMPLETE"; }
La última forma es la forma POSIX de definir una función, pero ansible-playbook
el alias (si lo hay) puede interferir. La primera forma es inmune pero no portátil. Si no hay ningún alias y estás usando Bash, cualquiera de los formularios funcionará.
O puede escribir un script contenedor que funcione de manera similar. Si le pones un nombre ansible-playbook
, asegúrate de que llame alreal ansible-playbook
, no en sí mismo. En la función anterior, la palabra command
impide llamar a la función misma en un bucle infinito.