Você pode usar um alias de shell
alias exit='clear; sleep 2; exit'
Para torná-lo permanente, adicione o alias à parte inferior do arquivo ~ / .bashrc. veja este tópico para ajuda
Eu só quero modificar um comando bash shell como exit, então quando eu escrevo exit no terminal, ele limpa a tela, ecoa algum texto, aguarda 2 segundos e executa a função de saída.
Então, existe alguma maneira de modificar um comando shell no Ubuntu, se houver como?
Você pode usar um alias de shell
alias exit='clear; sleep 2; exit'
Para torná-lo permanente, adicione o alias à parte inferior do arquivo ~ / .bashrc. veja este tópico para ajuda
Encontrei uma solução alternativa em vez de editar o comando bash de saída,% trap 'clear; ~/ascii3.sh; spd-say "Exit"; sleep 2' EXIT
usando uma armadilha para a saída no terminal e eu colocá-lo no final do arquivo .pashrc e funciona.
E o ascii3.sh:
echo -e "3[01;31m" echo " _ _ __ _ _ ____ __ __ _ __ ___ ____ ____ __ _ _ _ " echo "/ )( \ / _\ / )( \( __) / _\ ( ( \( )/ __)( __) ( \ / _\ ( \/ )/ \ " echo ") __ (/ \\ \/ / ) _) / \ / / )(( (__ ) _) ) D (/ \ ) / \_/ " echo "\_)(_/\_/\_/ \__/ (____) \_/\_/ \_)__)(__)\___)(____) (____/\_/\_/(__/ (_) "
Acho que a pergunta que fiz foi muito ruim, pois não refletia meus pensamentos, mas eu não vou mudar nem a resposta. Eu só coloco essa resposta aqui para quem quiser.
Você não pode modificar facilmente um comando, mas pode substituir um comando.
# You only need this one time:
mkdir --mode=755 $HOME/bin
# You need this command once per login (or in $HOME/.bashrc)
PATH="$HOME/bin:$PATH"
Em seguida, qualquer arquivo / script executável em $HOME/bin
substituirá qualquer comando com o mesmo nome.
Quando você digita um comando, o shell procura um arquivo executável com esse nome em cada um dos diretórios em $PATH
.
Infelizmente, o seu exemplo exit
é um "Shell interno" (consulte man bash
) e não é procurado em $PATH
, mas é manipulado internamente pelo shell. Para substituir exit
, você terá que definir uma função de shell ou alias (veja man bash
) no seu $HOME/.bashrc