Re: [PATCH 1/4] t0021: use write_script to create rot13 shell script
From: Lars Schneider <hidden>
Date: 2016-11-06 14:25:31
quoted hunk ↗ jump to hunk
On 02 Nov 2016, at 19:17, Jeff King [off-list ref] wrote: This avoids us fooling around with $SHELL_PATH and the executable bit ourselves. Signed-off-by: Jeff King <redacted> --- 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