從設定檔中的函數(zshrc 中的函數)執行 nano 不會儲存更改

從設定檔中的函數(zshrc 中的函數)執行 nano 不會儲存更改

我使用 zsh 作為我的 shell,我正在努力實現這一目標:

在我的 .zshrc 檔案中,我想要一個函數來修改我的 .zshrc、儲存並重新載入它。

到目前為止,我必須運行(在我的 .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
} 

每當我調用 zshrd 時它都會起作用。但每當我調用 zshed 時,它都不會。它在 nano 中打開文件,但不保存對文件所做的任何更改,也不提交任何內容。也許它與標準輸入/標準輸出有關?

你知道為什麼嗎?如果我以「錯誤的方式」做事,我願意接受其他解決方案。

謝謝!

答案1

如果我不明白,請糾正我,但你可以$HOME/.zshrc使用打開nano,添加一些更改並保存。然後您嘗試新增並提交$HOME/config/,但目錄中沒有進行任何更改,因此沒有進行提交。然後,您可以呼叫zshrd並覆蓋之前從未更改$HOME/.zshrc過的更改$HOME/config/.zshrc

我認為你應該調用nano $HOME/config/.zshrc你的腳本。

然後你的函數將更改$HOME/config/.zshrc,提交其更改,然後$HOME/.zshrc用新的覆蓋你的$HOME/config/.zshrc並重新加載它。

相關內容