A execução do nano a partir da função no arquivo de configuração (função no zshrc) não salva as alterações

0

Estou usando o zsh como meu shell e estou tentando conseguir isso:

No meu arquivo .zshrc eu quero ter uma função que modifique meu .zshrc, salve-o e recarregue-o.

Até agora eu tenho que funções (no meu arquivo .zshrc):

function zshrd(){
    cp $HOME/config/.zshrc $HOME/
    source $HOME/.zshrc
}

function zshed(){
    message=${1:-Automated message}
    nano $HOME/.zshrc
    git add $HOME/config/
    git commit -m $message
    zshrd
} 

Sempre que eu chamo zshrd, funciona. Mas sempre que eu chamo de zshed, isso não acontece. Ele abre o arquivo em nano, mas não salva nenhuma alteração feita no arquivo e não comete nada. Talvez tenha algo a ver com stdin / stdout?

Tem alguma ideia do porquê? Estou aberto a outras soluções se estiver fazendo as coisas da maneira "errada".

Obrigado!

    
por idelara 01.02.2017 / 23:56

1 resposta

0

Corrija-me se não estiver certo, mas abra $HOME/.zshrc com nano , adicione algumas alterações e salve. Em seguida, você tenta adicionar e confirmar $HOME/config/ , mas não há alterações feitas nesse diretório, portanto, nenhuma confirmação é feita. Em seguida, você chama zshrd e substitui o $HOME/.zshrc com $HOME/config/.zshrc alterado anteriormente, o que nunca mudou.

Acho que você deve ligar para nano $HOME/config/.zshrc no seu script.

Em seguida, sua função alteraria o $HOME/config/.zshrc , confirmaria suas alterações e, em seguida, substituiria o $HOME/.zshrc pelo novo $HOME/config/.zshrc e o recarregaria.

    
por 02.02.2017 / 00:54