why test(1) works with -eq but not -nq ?

Mark Ovens mark at ukug.uk.freebsd.org
Wed Apr 21 07:49:02 PDT 2004


Ion-Mihai Tetcu wrote:
> Hi,
> 
> 
> Could somebody explain me why in the second case I get an error (both
> with test(1) and with sh's builtin) ?
> 
> itetcu at it> /var/log/ports [16:51:38] 0
>  # sh
> # cat ports_sup_log | wc -l
>        3
> # if [ "`cat ports_sup_log | wc -l`" -eq "3" ]; then echo 'da'; fi
> da
> # if [ "`cat ports_sup_log | wc -l`" -nq "3" ]; then echo 'da'; fi
> [:        3: unexpected operator
> 
> # if (/bin/test "`cat ports_sup_log | wc -l`" -eq "3") ; then echo 'da'; fi
> da
> # if (/bin/test "`cat ports_sup_log | wc -l`" -nq "3") ; then echo 'da'; fi
> test:        3: unexpected operator
> 
> 
> 

The 'not equal' operator (I assume that is what you want) is -ne, not -nq

HTH

Regards,

Mark




More information about the freebsd-questions mailing list