From: Uwe Kleine-König Date: Thu, 23 Aug 2007 08:58:08 GMT Subject: Re: [PATCH] Fixed non portable use of expr and removed incorrect use of test -eq for string comparison Message-ID: <20070823085808.GA6573@informatik.uni-freiburg.de> In-Reply-To: <11878139102715-git-send-email-david@olrik.dk> Hello, David Jack Olrik wrote: > On 22/08/2007, at 15.23, Uwe Kleine-König wrote: > > > > You'd then need to check against 2 instead of 1, which I find less > > > obvious as we are testing for a '/' at the begining of the string. > > If I understood the problem right you only need to test for the exit > > code, that is the program test is not required at all. > > Ah, yes that's true. The following should make it more clear that we are > looking at the first character. > > if expr "$httpd_only" : "\/" >/dev/null yet another note: I used expr "z$http_only" on purpose. Look what happens here: $ httpd_only=substr $ expr "$httpd_only" : "\/" expr: syntax error Once more, Solaris is more exacting: $ /usr/bin/expr "/" : "\/" expr: syntax error (This works fine with GNU expr.) So better use "z$variable" because (up to now) there is no operator that starts with a 'z'. Best regards Uwe -- Uwe Kleine-König fib where fib = 0 : 1 : zipWith (+) fib (tail fib)