[pocket-linux] some discrepancies in 6.3.4, 6.3.5?

rainer chimera at b2b2c.ca
Sat Feb 12 08:58:30 CST 2005


David Horton wrote:

> rainer wrote:
>
>> hello,
>>
>> tried to send this problem on thursday from pine but it hasn't seemed 
>> to have arrived, please excuse the repeat if it does!
>>
>> i was continuing with ch. 6 when i noticed a few possible 
>> discrepancies (?);
>>
>> in 6.3.4 for the init.d/rc script we have,
>>
>> # Execute the kill scripts first.
>>  for SCRIPT in $SCRIPT_DIR/K*; do
>>    if [ -x "$SCRIPT" ]; then
>>      $SCRIPT stop;
>>    fi;
>>  done;
>> #
>> # Do the Start scripts last.
>>  for SCRIPT in $SCRIPT_DIR/S*; do
>>    if [ -x $SCRIPT ]; then
>>      $SCRIPT start;
>>    fi;
>>  done;
>>
>> inside the square brackets we have "$SCRIPT" in kill and $SCRIPT in 
>> start.
>> is this intentional?
>>
>> in 6.3.5 in the modified local_fs script we have,
>>
>>
>> start)
>>  echo "Checking local filesystem integrity."
>>  fsck -ATCp
>>  if [ $(($?)) -gt $((1)) ]; then
>>
>> but the original local_fs from 5.3.7 has
>>
>>
>> fsck -ATCp
>> if [ $? -gt 1 ]; then
>>
>> my understanding is this part didn't need any modification in the 
>> updated script, again is this intentional?
>>
>>
>> thanks
>
>
>
> These are both unintentional typos.  Neither one will break anything, 
> but you're right that it does look confusing.
>
> [ -x $SCRIPT ]; and [ -x "$SCRIPT" ]; are essentially the same, but 
> using the double quotes explicitly tells BASH to expand any characters 
> like * ? or ~ into filenames.  It's probably best to use the double 
> quotes and not rely on BASH to guess if it should expand or not.
>
> [ $(($?)) -gt $((1)) ]; and [ $? -gt 1 ]; are the same, but the former 
> is much more confusing to look at.  The $(( )) notation tells BASH to 
> treat what is in the parentheses as a numerical value.  However this 
> is redundant because -gt (greater than) is a numerical operator and 
> using it implies that we are dealing with numbers.  So it is best to 
> use the easier to read [ $? -gt 1 ]; format.
>
> If you want to gain some more insight into the notation the BASH 
> manpage has more detailed descriptions.  There are also some manpages 
> for the original Bourne shell that are much more concise.  You can 
> find these on the web or on an older, non-Linux, Unix box.  When 
> searching it is important to note that many times the Bourne shell is 
> called bsh instead of just sh.
>
> Dave
>
>
> _______________________________________________
> Pocket-Linux mailing list
> Pocket-Linux at ufo.chicago.il.us
> http://ufo.chicago.il.us/cgi-bin/mailman/listinfo/pocket-linux
>
>
thanks for clearing this up and , ya, i probably should be a little more 
interested in bash scripting! interesting article in slashdot yesterday 
on the boot process in embedde linux vs ppc,

http://www-106.ibm.com/developerworks/library/pa-migrate2/?ca=dgr-lnxw01BootProcess




More information about the Pocket-Linux mailing list