Quando faço algumas alterações no comportamento do shell / bash, como configurar um alias, existe um comando rápido para reinicializar a janela do terminal em vez de fechar e abrir uma nova janela?
49
Se você quer dizer recarregar sua configuração .bashrc, então:
source ~/.bashrc
Para menos digitação, você pode substituir source
por um ponto:. ~/.bashrc
source ~/.bashrc
?source
é um específico para o bash..
é mais padrão. Ambos funcionam da mesma forma no bash.Alguma adição que encontrei na página de manual do comando reset / tset
tset reset terminal de inicialização
comando:
reset
Tset inicializa os terminais. Tset primeiro determina o tipo de terminal que você está usando. Essa determinação é feita da seguinte maneira, usando o primeiro tipo de terminal encontrado.
uma vantagem parece ser que é independente do shell usado. também trabalha com peixe aqui.
Portanto, para reinicializar qualquer terminal, basta
OU
fonte
Uma opção adicional para
exec bash
isso é que, se você alterou seu.profile
(ou.bash_profile
), pode fazerIsso lerá seu perfil novamente. Não faria mal adicionar a
-i
opção também para dizer explicitamente ao bash que esse é um shell interativo, mas normalmente ele pode descobrir isso por si mesmo.fonte
Você precisa substituir o aplicativo / shell em execução por uma nova instância. Por exemplo, se você estiver usando
bash
como seu shell preferido, digite a seguinte linha na sua linha de comando ( $ é o espaço reservado para o início da sua linha de comando):O aplicativo / shell em execução é substituído por uma nova instância do
bash
like, começando do zero. Todas as suas modificações anteriores se foram.Observação: não esqueça que o aplicativo do seu terminal pode ser reprogramado. Você precisa redefinir o aplicativo do terminal manualmente.
fonte
seu shell é um executável que você pode chamar. Então, se você estiver usando o bash, pode ligar
bash
e se estiver usando outra coisa como zsh, basta digitarzsh
fonte
Use
exec sudo --login --user $USER
.Se você também quiser os comandos digitados anteriormente para disapper (redefinição completa do terminal), combiná-lo com
reset
areset; exec sudo --login --user $USER
Existem muitas respostas na web, mas a maioria não funciona. A maneira mais fácil de testar é definir
export SOMEVAR=42
e executar o comando supostamente redefinindo e fazerecho $SOMEVAR
. Se tiver 42 anos, o ambiente não foi redefinido.Também existe
exec -c bash -l
ouexec env -i bash -l
, mas eles estão quebrados, de alguma forma a variável $ HOME não é definida depois disso.fonte