Existem várias maneiras de executar algo automaticamente após um comando específico:
função
Crie uma função com o nome do seu comando específico e execute o comando específico depois. Esta é, na minha opinião, a solução mais simples e mais limpa.
function myotherscript() {
command myotherscript "$@"
other_command_to_be_executed
}
zsh
Com zsh você pode criar uma função precmd
que será executada antes do prompt. Isso permite que você execute outros comandos arbitrários, mas você mesmo terá que determinar o comando executado.
function precmd() {
last_cmd=$(history -1 | sed -e "s/^[ ]*[0-9]*[ ]*//g")
case "$last_cmd" in
*myscript*) other_command;;
*myotherscript*) other_other_command;;
esac
}
bash
O Bash tem a variável PROMPT_COMMAND
, permitindo que você implemente sua própria função precmd
. Para usá-lo, você precisa configurá-lo para um comando que será executado antes do prompt:
PROMPT_COMMAND="${PROMPT_COMMAND};bash_precmd"
function bash_precmd() {
last_command=$(history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g")
case "$last_command" in
*pattern*) command ;;
esac
}
Se você estiver usando o bash e quiser usar algo como preexec
ou precmd
dê uma olhada em precmd e preexec com bash