git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] t0300-credentials: Word around a solaris /bin/sh bug

From
Jeff King <peff@peff.net>
Date
Feb 3, 2012, 12:06 UTC
Message-ID
<20120203120657.GB31441@sigill.intra.peff.net>
In-Reply-To
<7vr4ycu3ty.fsf@alter.siamese.dyndns.org>
On Thu, Feb 02, 2012 at 05:02:17PM -0800, Junio C Hamano wrote:
Show 10 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > I wonder if a better solution is to use a known-good shell instead of
> > trying to work around problems in a bogus shell.
> 
> Yeah, I think that is a better approach.
> 
> What prevents us from doing 's|^#! */bin/sh|$#$SHELL_PATH|' on everything
> in t/ directory (I am not suggesting to do this. I just want to know if
> there is a reason we want hardcoded "#!/bin/sh" for some instances).

The quoting is more annoying, because you usually don't want interpolation on the rest of the lines of your embedded script. So:

  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".

-Peff
Previous: Junio C HamanoNext: Ben Walton
Message 6 of 22 in “t0300-credentials: Word around a solaris /bin/sh bug”
  1. t0300-credentials: Word around a solaris /bin/sh bugBen Walton, Feb 2, 2012
  2. Frans KlaverFeb 2, 2012
  3. Ben WaltonFeb 2, 2012
  4. Jeff KingFeb 2, 2012
  5. Junio C HamanoFeb 3, 2012
  6. Jeff KingFeb 3, 2012
  7. Ben WaltonFeb 3, 2012
  8. Junio C HamanoFeb 3, 2012
  9. Jeff KingFeb 3, 2012
  10. Junio C HamanoFeb 3, 2012
  11. Jeff KingFeb 3, 2012
  12. Ben WaltonFeb 3, 2012
  13. Junio C HamanoFeb 3, 2012
  14. Jeff KingFeb 3, 2012
  15. Jeff KingFeb 4, 2012
  16. 1/2 tests: add write_script helper functionJeff King, Feb 4, 2012
  17. 2/2 t0300: use write_script helperJeff King, Feb 4, 2012
  18. Junio C HamanoFeb 4, 2012
  19. Jeff KingFeb 4, 2012
  20. Jonathan NiederFeb 2, 2012
  21. Matthieu MoyFeb 2, 2012
  22. Jonathan NiederFeb 2, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.