Now I am really confused! This works: #!/bin/bash
if [ -z $1 ]; then echo '' echo "format is $0 'math equation'" echo "i.e. $0 (2+2)*3" echo '' exit fi echo $1 | /usr/bin/bc -l If you notice the only change I made was go with the better test for a blank variable. At least I though. The problem is with the if condition. I don't understand why, but here are the conditions. Pay close attention of the spaces around the '[]' The following work when argument is NOT given if [$1 == ''] if [ $1 == ''] if [ -z == '' ] The above, all give error when an argument is added Any other combination fail when and argumet is NOT given, with the exception of Bret's: if [ -z $1 ] Like I said I don't understand it, but it works. david P.S. I agree the '2&>/dev/null is strange On 11 Dec 2002, Bret Hughes wrote: > On Wed, 2002-12-11 at 12:05, dbrett wrote: > > I have a bash to math calucations. It works but also complains about the > > last line, even though it works. > > > > Any ideas how to fix the problem or at least not see the error message and > > still work. > > > > #!/bin/bash > > > > if [$1 == '']; then > > echo '' > > echo "format is $0 'math equation'" > > echo "i.e. $0 (2+2)*3" > > echo '' > > exit > > fi > > > > echo $1 | /usr/bin/bc -l &2>/dev/null > > > > only way I can get it to work is to quote the equation and fix the > syntax of the test statement. > > #!/bin/bash > if [ -z $1 ]; then # spaces inside the [ ] -z test for null string > > echo '' > echo "format is $0 'math equation'" > echo "i.e. $0 (2+2)*3" > echo '' > exit > fi > > echo $1 | /usr/bin/bc -l 2>/dev/null > > Roberts suggestion of dropping the &2> in favor of 2> fixed a really > funky newline thing I will have to figure out some day :) > [bhughes@bretsony bhughes]$ bc.test.sh > > format is ./bc.test.sh 'math equation' > i.e. ./bc.test.sh (2+2)*3 > > [bhughes@bretsony bhughes]$ bc.test.sh (2+2)*3 > bash: syntax error near unexpected token `(2+2)' > [bhughes@bretsony bhughes]$ > [bhughes@bretsony bhughes]$ bc.test.sh '(2+2)*3' > 12 > > HTH > > Bret > > > > -- > redhat-list mailing list > unsubscribe mailto:[EMAIL PROTECTED]?subject=unsubscribe > https://listman.redhat.com/mailman/listinfo/redhat-list > -- redhat-list mailing list unsubscribe mailto:[EMAIL PROTECTED]?subject=unsubscribe https://listman.redhat.com/mailman/listinfo/redhat-list