Jeff King <peff@xxxxxxxx> writes: > cat >foo.sh <<\EOF > #!/bin/sh > echo my arguments are "$@" > EOF > > cannot have the mechanical replace you mentioned above. It would need: > > cat >foo.sh <<EOF > #!$SHELL_PATH > echo my arguments are "\$@" > EOF > > or: > > { > echo "#!$SHELL_PATH" && > cat <<EOF > echo my arguments are "$@" > EOF > } >foo.sh > > When I have hard-coded "#!/bin/sh", my thinking is usually "this is less > cumbersome to type and to read, and this script-let is so small that > even Solaris will get it right". I am toying with the pros-and-cons of write_script () { echo "#!$1" shift cat } so that the above can become write_script "$SHELL_PATH" >foo.sh <<-EOF echo my arguments are "\$@" EOF without requiring the brain-cycle to waste on the "Is this simple enough for even Solaris to grok?" guess game. This should also be reusable for other stuff like $PERL_PATH, I would think. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html