쉘 스크립트를 작성 중이거나보다 구체적으로 말해서 ZSH 기능을 사용해야하며 여러 가지 간단한 명령을 사용하여 git 저장소와 같은 상태를 확인합니다.쉘 스크립트가 '-'로 진행하지 않습니다.
그러나 특정 명령 하나에 많은 문제가 있습니다. 또 다른 유래 게시에서 난 자식 저장소의 루트 폴더 인쇄 명령을 발견 : 나는
$(git rev-parse --show-top-level)
적절한 값이 반환을 실행하면, 내 실제 zsh을 인스턴스에서
git rev-parse --show-top-level
을하고 모두가 잘 . 그러나 스크립트 내에서 이러한 접근 방식이 잘 작동하지 않습니다. 나는 약간의 문맥주지 : 이제
[ $(git status &>/dev/null) $? -eq "0" ] && {
git_name=$("git rev-parse --show-top-level")
echo $(eval $git_name)
}
나는 당신에 관하여 모른다, 그러나 이것은 (하지 첫 번째 줄을이 작업을 수행 할 수있는 잘못 방법이 날 것으로 보인다, 나는 괜찮아 그것으로). 이것의 출력은 대략 다음과 같습니다
command not found: git rev-parse --show-top-level
그것이 내가이가 작성되어야한다 보인다 방법 :
이[ $(git status &>/dev/null) $? -eq "0" ] && {
git_name=$(git rev-parse --show-top-level)
echo $git_name
}
이의 출력은 다음과 같습니다 종료 상태가
--show-top-level
및 0
제 질문은 왜이 두 가지가 작동하지 않으며, 이것을 구현하는 올바른 방법은 무엇일까요? 내 추측으로는 공백 다음에 이중 대시 인수가 있고, 마지막 긴 인수가 명령 자체로 취급되고 있다는 점이 (적어도 두 번째 예에서는)하지만 내 직감의 정도입니다.
감사합니다.
환상적! 고마워요! –