tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <ch...@christopherschultz.net>
Subject Re: Various shell-scripting idioms in bin/daemon.sh
Date Thu, 25 Jul 2013 20:17:44 GMT
Mladen,

On 7/17/13 7:59 AM, Mladen Turk wrote:
> On 07/16/2013 11:42 PM, Christopher Schultz wrote:
>> All,
>>
>> While doing the trivial fix for
>> https://issues.apache.org/bugzilla/show_bug.cgi?id=55268, I noticed a
>> few idioms being used in bin/daemon.sh that struck me as odd. For
>> example:
>>
>> while [ ".$1" != . ]
>> do
>>    case "$1" in
>>      --java-home )
>>          JAVA_HOME="$2"
>>          shift; shift;
>>          continue
>>      ;;
>>
>>
>> This example actually illustrates the two main questions I had:
>>
>> 1. Why use [ ".$FOO" != . ] instead of simply [ -n "$FOO" ] (Corollary:
>> why use [ ".$FOO" = . ] instead of [ -z "$FOO" ])?
>>
> 
> Because some shell scripts does dot handle -z or -n well.
> 
>> 2. Why have a "continue" at the end of every case option, since the
>> whole body of the while loop is nothing but the case construct?
>>
> 
> That might be an extra directive, true.
> Probably a leftover from multiple case directives in while loop.
> 
> 
>> I may be spoiled by using Linux and bash for most of my career, but I
>> believe these are fairly standard POSIX-compliant things that should
>> work on all *NIX systems.
>>
> 
> Sadly that's not the case IMHO.

FWIW, http://markmail.org/message/ppcwlz6skwm3f56p

-chris


Mime
View raw message