Re: Weird behavior of shell variables in git aliases
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 21, 2011, 22:21 UTC
- Message-ID
- <7v8vw8nmh2.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20110321215310.GA2122@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 14 quoted lines
> But interestingly, that's _not_ the behavior as of Erik's 7f51f8b > (alias: use run_command api to execute aliases, 2011-01-07), which is in > master but not yet released. With that, we end up executing: > > sh -c 'echo $1 && echo $1 "$@"' 'echo $1 && echo $1' 'foo' > > which prints "foo foo". So it is technically a regression. I don't know > how much we care; using positional parameters like this was already > nonsensical, as shown above. > > For reference, what you actually want (in either system) is: > > $ git config alias.test1 > !sh -c 'echo $1 && echo $1' -
Oh, I should have been paying a bit more attention. I've been assuming that we were turning "!anything" into { "sh", "-c", "anything", "-" } followed by the user supplied arguments.