Subshel​​l, 변수 git 및 bash - bach -c와 함께 subshel​​l 매개 변수를 사용하는 방법

Subshel​​l, 변수 git 및 bash - bach -c와 함께 subshel​​l 매개 변수를 사용하는 방법

다음을 사용하여 gerrit에서 revspec을 추출하려고 합니다.

git ls-remote | grep $(git name-rev --all | grep $(git branch --show-current) | awk '{print $1}') | awk '{print $2}'

반품:

refs/changes/86/2214286/16

지금까지는 매우 좋습니다(비록 이보다 더 좋은 방법이 있을 것 같지만, 방법을 알고 계시다면 댓글도 남겨주세요).

일반적인 목적은 이 명령을 gitconfig에 별칭으로 넣는 것이었지만 계획대로 작동하지 않았습니다.

[alias]
    c = "git ls-remote | grep (git name-rev --all | grep (git branch --show-current) | awk '{print $1}') | awk '{print $2}'"

이것을 출력하십시오:

 git c                                                                                                                                                                                                        
 expansion of alias 'c' failed; 'git' is not a git command

"bash -c"(우리 팀 대부분은 ZSH를 사용함)를 사용하여 zsh 셸에서 실행할 수 있다고 생각했지만 협력하지 않습니다.

 bash -c "git ls-remote | grep (git name-rev --all | grep (git branch --show-current) | awk '{print $1}') | awk '{print $2}'"

bash: -c: line 0: syntax error near unexpected token `git'
bash: -c: line 0: `git ls-remote | grep (git name-rev --all | grep (git branch --show-current) | awk '{print }') | awk '{print }''

어떤 아이디어가 있나요?

감사해요,

상서로운

관련 정보