On Wed, 11 Dec 2002, dbrett wrote: > 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
assuming that all you're doing is asking a shell script to run "bc" for you, here's a possible solution: ------------- #!/bin/bash function usage { cat <<-EOF Usage: $0 equation. Aborting now. exit EOF } [[ $# -eq 1 ]] || usage echo $1 | /usr/bin/bc -l 2> /dev/null ------------- notes: 1) the usage() function keeps that stuff out of the way, so you can call it more than once 2) [[ $# -eq 1 ]] is the recognized way to test the number of parameters and if all you're doing is simple arithmetic, this is already built into bash with the $(( )) construct, as in: $ echo $(((2+3)*10)) 50 using this built-in construct, you need not worry about whitespace since the construct is an inherent part of the shell. rday -- redhat-list mailing list unsubscribe mailto:[EMAIL PROTECTED]?subject=unsubscribe https://listman.redhat.com/mailman/listinfo/redhat-list