Como fonte arquivo .bashrc diretamente depois de fechar e salvar?

0

Por exemplo, tenho uma função no meu arquivo .bashrc :

function open_bashrc() {
    gedit ~/.bashrc
    source ~/.bashrc
}

Assim, em qualquer lugar que eu esteja, se eu digitar open_bashrc , ele abrirá o arquivo .bashrc . Eu posso abri-lo e alterá-lo, mas depois de salvar e clicar em fechar, ele não executa a segunda etapa source .bashrc . Em vez disso, tenho que digitar source ~/.bashrc eu mesmo. Por quê? O que há de errado com a função?

    
por K Split X 01.07.2017 / 02:17

2 respostas

1

Eu tenho isso no meu arquivo de aliases e funciona:

alias bashrc='vim ~/.bashrc && source ~/.bashrc'

    
por 01.07.2017 / 21:27
0

Pode ser que, no seu contexto de execução, gedit não seja resolvido como o programa executável gedit, mas como um shell script, função ou alias, que executa o gedit no background ? Caso contrário, não vejo razão, porque source não deve ser executado.

Na verdade, eu não usaria && , como sugerido por polvoazul. Esta solução teria o efeito de que o .bashrc é originado somente se o gedit retornar com o código de saída zero. Embora certamente devamos esperar que um programa bem-comportado saia com 0, se tudo correu bem, já vi mais programas que não se importam com os códigos de saída, e a página de manual do gedit silencia sobre o código de saída, que , tecnicamente, significa que o código de saída não é especificado. Isso não é algo que eu gostaria que minhas funções dependessem ....

    
por 03.07.2017 / 11:28