On Fri, Feb 03, 2012 at 01:50:33PM -0800, Junio C Hamano wrote:
quoted
write_script foo.sh "$SHELL_PATH" <<-\EOF
echo my arguments are "$@"
EOF
I first thought that the order of parameters were unusual, but with that
order, you could even go something fancier like:
write_script () {
case "$#" in
1) case "$1" in
*.perl | *.pl) echo "#!$PERL_PATH" ;;
*) echo "#!$SHELL_PATH" ;;
esac
2) echo "#!$2" ;;
*) BUG ;;
esac >"$1" &&
cat >>"$1" &&
chmod +x "$1"
}
Nice. I was going to suggest a wrapper like "write_sh_script" so you
didn't have to spell out $SHELL_PATH, but I think the auto-detection
makes sense (and falling back to shell makes even more sense, as that
covers 99% of the cases anyway).
-Peff