On Tue, 2007-10-02 at 18:30 +0200, George Shapovalov wrote: > Tuesday, 2. October 2007, Roy Marples Ви написали: > > And here it is > - if [[ "${FORTRANC}" = "gfortran" ]]; then > + if [ "${FORTRANC}" = "gfortran" ]; then > > You know, it is funny to see these lines after all those cries about how [ is > evil and we should really never ever use it but rather always use [[ form :). > > Oh, btw, does the compliant sh correctly process the most cited composition? : > [ -n $foo ] && [ -z $foo ] && echo "huh?" > (straight from devmanual, the primary reason why [ is considered bad)
bash and sh do the same thing [EMAIL PROTECTED] ~ $ bash -c '[ -n $foo ] && [ -z $foo ] && echo "huh?"' huh? [EMAIL PROTECTED] ~ $ sh -c '[ -n $foo ] && [ -z $foo ] && echo "huh?"' huh? Maybe if you quoted properly it would work? [EMAIL PROTECTED] ~ $ bash -c '[ -n "$foo" ] && [ -z "$foo" ] && echo "huh?"' [EMAIL PROTECTED] ~ $ sh -c '[ -n "$foo" ] && [ -z "$foo" ] && echo "huh?"' By golly it does work! And on both shells! Amazing! With [[ ]] you don't need to quote, which encourages people not to bother learning when and when not to quote. Regular readers of -dev will also notice a large amount of people not quoting correctly, my view is that bash encourages this through the use of [[ ]]. Thanks Roy -- [EMAIL PROTECTED] mailing list