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

Re: [PATCH] Replace "echo -n" with printf in shell scripts.

From
Junio C Hamano <junkio@cox.net>
Date
Jan 16, 2007, 02:46 UTC
Message-ID
<7v1wlv1yeh.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<17437.1168911089@lotus.CS.Berkeley.EDU>
Jason Riedy <ejr@EECS.Berkeley.EDU> writes:
> Not all echos know -n.  This was causing a test failure in
> t5401-update-hooks.sh, but not t3800-mktag.sh for some reason.

We have done this already so it might be too late to raise this question, but does everybody have printf?

Show 10 quoted lines
> diff --git a/contrib/remotes2config.sh b/contrib/remotes2config.sh
> index 25901e2..b996996 100644
> --- a/contrib/remotes2config.sh
> +++ b/contrib/remotes2config.sh
> @@ -11,7 +11,7 @@ if [ -d "$GIT_DIR"/remotes ]; then
>  	{
>  		cd "$GIT_DIR"/remotes
>  		ls | while read f; do
> -			name=$(echo -n "$f" | tr -c "A-Za-z0-9" ".")
> +			name=$(printf "$f" | tr -c "A-Za-z0-9" ".")

This should almost be safe as no sane person would have a remote whose name is 'foo%s'...

Previous: Jason RiedyNext: Jason Riedy
Message 2 of 11 in “Replace "echo -n" with printf in shell scripts.”
  1. Replace "echo -n" with printf in shell scripts.Jason Riedy, Jan 16, 2007
  2. Junio C HamanoJan 16, 2007
  3. Jason RiedyJan 16, 2007
  4. Eric BlakeJan 16, 2007
  5. Horst H. von BrandJan 17, 2007
  6. Junio C HamanoJan 17, 2007
  7. Brian GernhardtJan 17, 2007
  8. Julian PhillipsJan 17, 2007
  9. Horst H. von BrandJan 17, 2007
  10. Simon 'corecode' SchubertJan 18, 2007
  11. Junio C HamanoJan 18, 2007

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.