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

Re: [PATCH] Fixed non portable use of expr and removed incorrect use of test -eq for string comparison

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 23, 2007, 09:25 UTC
Message-ID
<7vveb6txfc.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<20070823090600.GB6573@informatik.uni-freiburg.de>
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de> writes:
Show 18 quoted lines
> Junio C Hamano wrote:
>> By the way, I do not know if the use of "which" there is
>> portable.  Have Solaris folks tried this program ever?
> I don't count myself to "Solaris folks", even though I still use it to
> read and write my email.  But anyhow I know some of the pitfalls...
>
> 	login@~ > /bin/bash --version
> 	GNU bash, version 3.00.16(1)-release (sparc-sun-solaris2.10)
> 	Copyright (C) 2004 Free Software Foundation, Inc.
>
> 	login@~ > /bin/bash
>
> 	zeisberg@login ~$ which httpd && echo successful
> 	no httpd in /home/zeisberg/bin /home/zeisberg/usr/bin /opt/bin
> 	/usr/local/graphics/bin /usr/local/gnu/bin /usr/local/bin
> 	/usr/local/X11R6/bin /usr/xpg4/bin /usr/bin /usr/ccs/bin /usr/sbin
> 	/usr/ucb /usr/openwin/bin
> 	successful
Thanks.  Somebody else tried:
	found=`which "$command"`
        if test -n "$found"
        then
        	... use $found as the full path to the command
	fi

and got burned because "no httpd in ..." comes to the stdout! I did not exactly recall if there was an issue with the exit status, but your demonstration shows that the status is also useless.

We _could_ do something ugly and pointless like:
	test -f `which "$command"`
but I'd say I prefer the alternative I sent out at that point.
Previous: Uwe Kleine-KönigNext: Uwe Kleine-König
Message 8 of 11 in “Fixed non portable use of expr, and incorrect use of test -eq for string comparison.”
  1. Fixed non portable use of expr, and incorrect use of test -eq for string comparison.David Jack Olrik, Aug 22, 2007
  2. Uwe Kleine-KönigAug 22, 2007
  3. David Jack OlrikAug 22, 2007
  4. Uwe Kleine-KönigAug 22, 2007
  5. Fixed non portable use of expr and removed incorrect use of test -eq for string comparisonDavid Jack Olrik, Aug 22, 2007
  6. Junio C HamanoAug 22, 2007
  7. Uwe Kleine-KönigAug 23, 2007
  8. Junio C HamanoAug 23, 2007
  9. Uwe Kleine-KönigAug 23, 2007
  10. Uwe Kleine-KönigAug 23, 2007
  11. martin f krafftAug 22, 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.