> On 02 Nov 2016, at 19:17, Jeff King <peff@xxxxxxxx> wrote: > > This avoids us fooling around with $SHELL_PATH and the > executable bit ourselves. > > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > 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