나는 zsh를 쉘로 사용하고 있으며 이것을 달성하려고 노력하고 있습니다.
내 .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에서 파일을 열지만 파일에 대한 변경 사항을 저장하지 않으며 아무 것도 커밋하지 않습니다. 아마도 stdin/stdout과 관련이 있을까요?
왜 그런지 아시나요? 내가 일을 "잘못된 방식"으로 하고 있다면 다른 해결책도 열려 있습니다.
감사해요!
답변1
이해가 잘 안 되지만 $HOME/.zshrc
로 열고 nano
몇 가지 변경 사항을 추가한 후 저장하면 수정해 주세요. 그런 다음 추가하고 커밋을 시도 $HOME/config/
하지만 이 디렉터리에 변경 사항이 없으므로 커밋이 이루어지지 않습니다. 그런 다음 변경되지 않은 zshrd
이전 변경 사항을 호출하고 재정의 $HOME/.zshrc
합니다 .$HOME/config/.zshrc
내 생각 nano $HOME/config/.zshrc
엔 스크립트를 호출해야 할 것 같아요.
그런 다음 함수는 을 변경 하고 변경 사항을 커밋한 다음 새 것으로 $HOME/config/.zshrc
재정의 하고 다시 로드합니다.$HOME/.zshrc
$HOME/config/.zshrc