Como fazer o autoclose do terminal quando um comando é executado com sucesso?

1

Eu quero fazer o autoclose do terminal quando um comando é executado com sucesso. Ele não deve ser fechado automaticamente se o comando produzir algum erro.

Por exemplo:

Se eu executar sudo apt-get install vlc , o terminal deverá ser fechado automaticamente se o pacote do VLC for instalado com êxito. Caso contrário, não deve fechar.

    
por Avinash Raj 09.02.2014 / 06:00

2 respostas

3

use o seguinte comando

bind 'RETURN: ";if [[ $? == 0 ]]; then exit; fi;\n"'

se você precisar trabalhar sempre que iniciar uma nova sessão, adicione este comando ao arquivo ~/.bashrc e execute source ~/.bashrc para que ele tenha efeito imediatamente.

se você digitar

ls

será automaticamente substituído por

ls; if [[ $? == 0 ]]; then exit; fi;
    
por House Zet 09.02.2014 / 06:07
3

Basta colocar && exit após o comando que você deseja sair do terminal:

Exemplo:

sudo apt-get install vlc && exit

Explicação:

&&      Run the next command if the preceding command exits with 0 (success)
exit    Exit the terminal or script

Isto é provavelmente melhor do que sair se o comando qualquer for bem-sucedido; você provavelmente deseja executar mais de um comando em um terminal.

Se você está realmente certo de que o terminal deve sair após cada comando bem-sucedido, use isso em .bashrc :

bind 'RETURN: "\C-e ; [[ $? == 0 ]] && exit ;
"'

(verifique se as cotações de fechamento estão em uma nova linha)

    
por kiri 09.02.2014 / 07:38