Sponsored Content
Top Forums Shell Programming and Scripting Whats the error in this script ? Post 302444783 by sheelscripter on Thursday 12th of August 2010 07:35:38 PM
Old 08-12-2010
Still getting an error

I modified the script to:


Code:
#!/bin/sh

fact()
{

        if [ $1 -gt 1 ] ; then

                res=`expr $1 - 1`
                p=`fact $res`
        else
                echo $1
        fi
        echo `expr $p \* $1`

}

echo "Enter a number you wish to calculate factorial of"

read NUM

echo "Factorial of $NUM is : " `fact $NUM`


~~~~~~~~~~~~~~~~~~~~~~~~
Code:
$ ./factorial.sh 
Enter a number you wish to calculate factorial of
4
expr: syntax error 
Factorial of 4 is :  24

WHy am I still getting this : "expr: syntax error"

Last edited by Franklin52; 08-13-2010 at 04:19 AM.. Reason: Please use code tags!
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

whats the purpose of the following script?

whats the purpose of the following script? who could run it? To what is the script refering that exceeds 75%? The mailbox? What does sed 's/%//' do? (1 Reply)
Discussion started by: vrn
1 Replies

2. Shell Programming and Scripting

Whats wrong with this script?

Hi all, #!/bin/ksh BIN=/interface/Gunner age=$1 directory="$2" && directory=. cd "$directory" || exit 1 from=`$BIN/today -$age` cd $BIN for i in `cat filestoarchive.txt`;do cd $i find . -mtime 14 | grep -v '.tar$' | $BIN/dttmfilter | awk '$1<="'$from'"{ print;};' | \ done (2 Replies)
Discussion started by: kayarsenal
2 Replies

3. UNIX for Advanced & Expert Users

Whats wrong in this Script ???

PATH="/clocal/mqbrkrs/user/mqsiadm/sanjay" MAIL_RECIPIENTS="xyz@abc.com" Subject="File accessed in last minutes:" find $PATH -type f -amin -1 > temp.txt.$$ cat temp.txt.$$ | \ while read line do fuser -uV $line >> tempmail.txt done cat "$tempmail.txt" | mailx -s "$Subject"... (4 Replies)
Discussion started by: varungupta
4 Replies

4. UNIX for Dummies Questions & Answers

Whats wrong in the script?

if then if then echo "fst argument is $1 " else if then "fst argument is $1" fi fi fi Can anyone tell me. My requirement is tht pass a string .. Check whether it contains "-". If yes then check if it... (1 Reply)
Discussion started by: nehagupta2008
1 Replies

5. Shell Programming and Scripting

Whats the error in this script

#!/bin/sh #usblcd clear while true; do tail -1 /root/Myprogs/apurva.log > /root/Download/usr/bin/output.txt cat /root/Download/usr/bin/output.txt | echo `awk '{if ($3 == "Connection"&&$4 == "Established") print"Connection Established "} else if {($3 == "DTNCO"&&$4 ==" Sent" && $5="Packet")... (2 Replies)
Discussion started by: appu1987
2 Replies

6. Shell Programming and Scripting

Whats the problem whit my script???

I want to take the even-numbered lines from a file and put them in a separate file and the same thing with the odd-numbered lines. #!/bin/bash file=$1 awk ' { if ( NR % 2 == 0) { (( getline < "$file" ) > "even.txt" )} else { (( getline < "$file" ) > "odd.txt" )} } ' $file (4 Replies)
Discussion started by: cristi2008
4 Replies

7. Shell Programming and Scripting

whats error in code ??

if `egrep -c "safe_mode" /usr/local/lib/php.ini` - gt 0 && " `egrep -c "safe_mode" /usr/local/lib/php.ini` = "On" " then echo " Good " exit else echo " Not Good "; fi and (4 Replies)
Discussion started by: x-zer0
4 Replies

8. Shell Programming and Scripting

Whats wrong with my script?

I am trying to find a value within a properties file and declare it into a variable. Script below. I want the "memSize" to be the branch from the properties file. Right now it always tells me "Not found" What am I doing wrong? #!/bin/sh memsize =''; memSize=`sed '/^\#/d'... (8 Replies)
Discussion started by: vsekvsek
8 Replies

9. OS X (Apple)

Whats wrong with this shell script!!!!!

hi guys can you tell me if anything is wrong with this script, seems reasonable to me but somehow never works. Script redacted for being too explicit (2 Replies)
Discussion started by: Freddo
2 Replies

10. Shell Programming and Scripting

Sh Script whats wrong?

Hi there, i have a problem i have created followning sh files some years ago but now it dosen`t work anymore i never used it a long time. Can anyone find the Error? Its always runs the stop() block and trying to Killing the Server also if i try to start or creat a new one. #!/bin/sh stop()... (6 Replies)
Discussion started by: NewCannon
6 Replies
EXPR(1) 						      General Commands Manual							   EXPR(1)

NAME
expr - evaluate arguments as an expression SYNOPSIS
expr arg ... DESCRIPTION
The arguments are taken as an expression. After evaluation, the result is written on the standard output. Each token of the expression is a separate argument. The operators and keywords are listed below. The list is in order of increasing precedence, with equal precedence operators grouped. expr | expr yields the first expr if it is neither null nor `0', otherwise yields the second expr. expr & expr yields the first expr if neither expr is null or `0', otherwise yields `0'. expr relop expr where relop is one of < <= = != >= >, yields `1' if the indicated comparison is true, `0' if false. The comparison is numeric if both expr are integers, otherwise lexicographic. expr + expr expr - expr addition or subtraction of the arguments. expr * expr expr / expr expr % expr multiplication, division, or remainder of the arguments. expr : expr The matching operator compares the string first argument with the regular expression second argument; regular expression syntax is the same as that of ed(1). The (...) pattern symbols can be used to select a portion of the first argument. Otherwise, the matching operator yields the number of characters matched (`0' on failure). ( expr ) parentheses for grouping. Examples: To add 1 to the Shell variable a: a=`expr $a + 1` To find the filename part (least significant part) of the pathname stored in variable a, which may or may not contain `/': expr $a : '.*/(.*)' '|' $a Note the quoted Shell metacharacters. SEE ALSO
ed(1), sh(1), test(1) DIAGNOSTICS
Expr returns the following exit codes: 0 if the expression is neither null nor `0', 1 if the expression is null or `0', 2 for invalid expressions. EXPR(1)
All times are GMT -4. The time now is 06:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy