예상, 내 별명에 다음과 같은 별칭이 파일을했다 :에코 하나 오랫동안
ignore=!([ ! -e .gitignore ] && touch .gitignore) | echo $1 >>.gitignore
그것은 나에게 원래하지, 그리고 만약 당신이 그것을 검색, 당신은 그것을 많이 볼 수 있습니다 장소. 그러나 최근에는 별칭에 이상한 문제가 발생하기 시작했습니다. 무시한 내용은 .gitignore 파일과 같은 줄에 두 번 넣습니다 (공백 만 사용).
나는 약간의 디버깅을 수행하여 실제로 일어나는 일은 echo $1
에 대한 호출이 예상대로 $1
으로 나타나지만 별칭에 대한 전체 인수 문자열을 반향한다는 것을 알았습니다. 그것은 분명 $1
인 반면 에코 전화가에 압정으로 고정 인수의 전체 세트를지고 있음을 보여주기 때문에 마지막 줄이 가장 재미있다
eo = !echo $1
> git eo test
test test
> git eo test0 test1
test0 test0 test1
그건 :
이를 테스트하기 위해, 나는 새로운 별칭을 만든 올바르게 평가되고 있습니다. 사실, 것들로 내가 엉망 및 $9
에 $1
변경 (및 $9
를 기입하지 않는) 경우, 내가 얻을 :이 망할 놈의 버전에서 발생하는 것으로 확인되었습니다
> git eo test0 test1
test0 test1
1.9.0 및 I에 1.8.5 Git 버전 1.7.1에서는 발생하지 않는다고 확인했다. 불행히도, 나는 1.7.1과 1.8.5 사이에서 테스트 할 수 없습니다.
여기에 무슨 일이 벌어지고 있는지에 대한 통찰력이있는 사람이 있습니까? 내 별칭 몇 개가 깨져서 ...
'ignore =! >>. gitignore echo'도 아마 작동 할 것입니다 (그리고 당신이 ignore 파일에 한번에 여러 파일을 추가 할 수있게 해줍니다) – knittl