> On 02 Nov 2016, at 19:17, Jeff King <[email protected]> wrote:
>
> This avoids us fooling around with $SHELL_PATH and the
> executable bit ourselves.
>
> Signed-off-by: Jeff King <[email protected]>
> ---
> t/t0021-conversion.sh | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh
> index a20b9f58e..dfde22549 100755
> --- a/t/t0021-conversion.sh
> +++ b/t/t0021-conversion.sh
> @@ -6,13 +6,11 @@ test_description='blob conversion via gitattributes'
>
> TEST_ROOT="$(pwd)"
>
> -cat <<EOF >"$TEST_ROOT/rot13.sh"
> -#!$SHELL_PATH
> +write_script <<\EOF "$TEST_ROOT/rot13.sh"
> tr \
> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' \
> 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM'
> EOF
> -chmod +x "$TEST_ROOT/rot13.sh"
>
> generate_random_characters () {
> LEN=$1
> --
> 2.11.0.rc0.258.gf434c15
>
This looks good to me (and it works on my machine).
However, I took a look at the "write_script" function and found this,
added by Junio in 840c519d:
echo "#!${2-"$SHELL_PATH"}" &&
There is some kind of variable expansion happening with the "2-" but
I can't quite figure out what is going on. Plus, I can't find anything
about this in the sh docs.
Can anyone help me to understand it?
Thanks,
Lars