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