É possível entrar foo
e fazer com que o bash o converta automaticamente para time foo && notify-send "PLAYBOOK COMPLETE"
?
Eu gostaria especificamente que isso se aplicasse apenas a ansible-playbook
comandos (para aqueles que não estão familiarizados com o Ansible, qualquer número de opções, argumentos etc. pode seguir, ansible-playbook
então um simples alias provavelmente não resolverá o problema) para que eu seja notificado quando um longo manual terminou.
Um comando antes de cada comando bashparecia promissor, mas infelizmente não funcionou corretamente para mim.
Responder1
Com uma função shell:
function ansible-playbook { time command ansible-playbook "$@" && notify-send "PLAYBOOK COMPLETE"; }
ou
ansible-playbook () { time command ansible-playbook "$@" && notify-send "PLAYBOOK COMPLETE"; }
A última forma é a maneira POSIX de definir uma função, mas ansible-playbook
o alias (se houver) pode interferir. A primeira forma é imune, mas não portátil. Se não houver nenhum alias e você estiver usando o Bash, qualquer um dos formulários funcionará.
Ou você pode escrever um script wrapper que funcione de maneira semelhante. Se você nomeá-lo ansible-playbook
, certifique-se de que ele chame oreal ansible-playbook
, não em si. Na função acima, a palavra command
evita chamar a própria função em um loop infinito.