alias gg="git grep"
다음과 같은 것들 :
gg "int x"
작동하지만
gg int x
불평을받습니다. zg의 함수로 gg를 재 작성하여 gg 뒤에 모든 인수를 가져 와서 문자열로 채우는 방법이 있습니까?
고마워!
alias gg="git grep"
다음과 같은 것들 :
gg "int x"
작동하지만
gg int x
불평을받습니다. zg의 함수로 gg를 재 작성하여 gg 뒤에 모든 인수를 가져 와서 문자열로 채우는 방법이 있습니까?
고마워!
gg() { git grep "$*"; }
특정 사용 사례에 대해 이것은 잘못된 생각입니다. git-grep
은 단일 인수가 이고 예상 패턴은입니다. 패턴을 사용하여 셸에서 int와 x 사이의 공간을 처리하려고합니다. 이것은 gg foo.*bar
또는 쉘이 해석 할 수있는 다양한 다른 것을 시도 할 때 빠르게 깨질 것입니다. 따라서 gg
이후의 내용은 정말로 인용되어야합니다. 당신이 gg
이 가치있는 키 입력 보호기 생각한다면 fatal: ambiguous argument 'x': unknown revision or path not in the working tree...
, 일관된 어떤 git-grep
예상하는과로 인수를 유지해야합니다 git grep int x
도 작동하지 않는 이유입니다. 원본 별칭은이 문제가 없습니다. 다른 정규 표현식 명령을 사용하는 것과 마찬가지로 패턴을 한 번 또는 큰 따옴표로 계속 입력하십시오.
대답이 아니지만 아주 좋은 지적입니다. – shadowtalker
음, 하나의 문자열로 이동하려면''$ @ ''대신''$ * "'가 필요합니다 - 작성한 양식은 별칭처럼 별개의 매개 변수로 전달됩니다. –
고마워. –
이것은 bash 와도 호환되는 이점이 있습니다 – Jian