On Mon, Jan 25, 2010 at 05:22:32PM +0100, Gabor HALASZ wrote:

> >>          [ -n ${dev##*\#*} ] || continue
> >>          [ -z ${dev##*\#*} ] && continue

> Ugy latom, nagyon nem erted. A fenti krixkrax eliminalja a kommenteket, 
> tokmindegy, mi van az fstabban. A problema az, hogy a ket teszt egymas 
> komplementerei (a string hossza nem null vagy continue, illetve a string 
> hossza nulla es continue), megis csak a masodik teljesul.

Nem komplementerek, ugyanis a valozo-helyettesites utan ezt kapod:

        [ -n ] || continue
        [ -z ] && continue

Azaz sehol nincs 0 hosszusagu string, mert ugyesen lefelejtetted az
idezojeleket. A SUSv3 algoritmusa szerint pedig a [ -n ] ill. a [ -z ]
kiertekelese egyarant true (0), ugyanis egyetlen argumentum eseten azt
soha nem tekinti operatornak.

Tanulsag: quote or die.

Gabor

-- 
     ---------------------------------------------------------
     MTA SZTAKI Computer and Automation Research Institute
                Hungarian Academy of Sciences
     ---------------------------------------------------------
_________________________________________________
linux lista      -      [email protected]
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz