Como posso obter o arquivo bashrc toda vez que eu 'limpo'

13

Isso pode ser uma má ideia. Quanto mais penso nisso, mais chego à conclusão de que provavelmente não deveria fazê-lo ... mas estou tentando e falhando, por isso REALMENTE quero saber como fazê-lo, mesmo que seja uma má ideia.

O que eu quero é que o arquivo bashrc seja originado toda vez que eu executar o clearcomando. A razão para isso é completamente materialista. Eu tenho informações do sistema que ecoam quando eu procuro o bashrc e isso é legal para mim, e eu gostaria que elas estivessem no topo sempre que eu limpar.
Eu tentei criar alguns aliases para, clearmas continuo correndo em loops infinitos. A solução óbvia é alterar os aliases para outra coisa além de clear, para que eu possa executar o comando clear no alias sem interferir, mas digito clear tantas vezes que ele está meio enraizado no meu cérebro neste momento. Eu gostaria de poder digitar clear e torná-lo claro E originar o arquivo bashrc.

CaldwellYSR
fonte
2
Verifique se o script .bashrc não possui efeitos cumulativos. Se fizer algo como acrescentar coisas aos seus caminhos, pode ficar confuso. Em geral, o .bashrc é para inicializar seu ambiente de shell. se fizer outras coisas, seria melhor dividi-las em um novo script e chamar isso de claro. Além disso, se alguém mais usar o seu sistema ou ajudá-lo, eles poderão encontrar um comportamento inesperado porque você redirecionou um comando comum.
Joe
@ Joe Esse é um bom argumento sobre outras pessoas usando o meu sistema. Vocês trouxeram muitas coisas que eu não tinha pensado.
CaldwellYSR

Respostas:

27

alias clear='source ~/.bashrc; \clear'

O \comando diz ao bash que você deseja chamar o comando externo, não o alias.

Daniel Pittman
fonte
Ah, ótimo, eu sabia que seria algo simples assim!
CaldwellYSR
13
Você provavelmente deseja fazer isso na outra ordem, ou a limpeza apagará qualquer saída .bashrcgerada. Mas também é uma péssima idéia ter .bashrcgerado saída .
Cjm
@ cjm Sim, eu percebi isso esta manhã sobre o pedido. Eu já estava na ordem correta, mas não tinha a ` in front of certeza. Vou olhar para essas informações sobre o bashrc e a saída. Obrigado pelo link.
CaldwellYSR
uma alternativa para \clearécommand clear
glenn jackman 03/02
@CaldwellYSR, a versão curta é essa das ssh host commandfontes .bashrc. Se isso gerar saída, confundirá todos os scripts que tentam executar comandos remotos em seu host e conta. Você pode não estar fazendo isso agora, mas um dia poderá estar, e então ficará confuso por que não funciona.
CJM
2

Escreva um script que imprima as informações do sistema que você deseja. Invoque-o de .bashrce de seu clearalias.

Keith Thompson
fonte
1

No seu .bashrcconjunto, um alias para clearessas fontes .bashrcposteriormente:

alias clear='clear && . ~/.bashrc'

fonte
1

Pelo comentário de Joe ... se você tiver "efeitos cumulativos" (seu perfil não é seguro para executar novamente várias vezes), aqui está um truque para contornar isso!

alias clear='\clear; exec bash -l'

Isso realmente inicia um novo intérprete toda vez que você limpa, garantindo que é realmente um novo começo em todos os aspectos. O executivo, no entanto, significa que você não o faz com muitos processos por aí mais tarde.

Domingo Ignacio Galdos
fonte