W przypadku konkretnego przypadku użycia, jest to zły pomysł. git-grep
oczekuje pojedynczego arg wzorca. Starasz się, aby powłoka traktowała twoją przestrzeń (między int i x) jako część wzoru. Spowoduje to szybkie złamanie, gdy spróbujesz coś takiego: gg foo.*bar
lub różne inne rzeczy, które powłoka może zinterpretować. Więc cokolwiek po gg
naprawdę powinno być cytowane. To dlatego git grep int x
też nie działa: fatal: ambiguous argument 'x': unknown revision or path not in the working tree...
Jeśli uważasz gg
to warto klawiszy wygaszacz, należy zachować swój arg nim zgodny z tym, co git-grep
spodziewa. Twój oryginalny alias jest do tego odpowiedni. I kontynuuj jedno- lub dwukrotne cytowanie swojego wzorca, tak samo jak w przypadku każdego innego polecenia akceptującego wyrażenie regularne.
Uhm, aby je umieścić w jednym ciągu, potrzebujesz '" $ * "' zamiast '" $ @ "' - napisany przez ciebie formularz przejdzie je jako oddzielne parametry, podobnie jak alias. –
Dzięki za poprawkę. –
Ma to tę zaletę, że jest kompatybilny z bash – Jian