Whats wrong with this IF condition?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Whats wrong with this IF condition?
# 1  
Old 09-10-2008
Data Whats wrong with this IF condition?

I have four variables, dumpdata, defndata, compare1 and compare2

I want an IF statement condition which returns true when either dumpdata=defndata or (dumpdata<=compare1 and dumpdata>=compare2).

But this is not working for me..

if [ $dumpdata=$defndata || (( $dumpdata <= $compare1 ) && ( $dumpdata >= $compare2 )) ]

Last edited by indianjassi; 09-10-2008 at 01:55 AM..
# 2  
Old 09-10-2008
It would help if you mention which shell you are using.

Usually you need to use [[ ]] if you want to use || and &&. Also you may need to use -le instead of <= and -ge instead of >=.
# 3  
Old 09-10-2008
I am using ksh.

Do you mean to use this:

if [[ ($dumpdata -eq $defndata) || (($dumpdata -le $compare1) && ($dumpdata -ge $compare2)) ]]
# 4  
Old 09-10-2008
Looks good to me... does it work?

Another good habit is to enclose variables in test statements like this between "quotes". That way if one of the variables happens to be empty the statement logic will still work instead of your script terminating with an 'invalid syntax' error.
# 5  
Old 09-10-2008
Bug

Quote:
Originally Posted by Annihilannic
Looks good to me... does it work?

Another good habit is to enclose variables in test statements like this between "quotes". That way if one of the variables happens to be empty the statement logic will still work instead of your script terminating with an 'invalid syntax' error.
yes it works!

And thanks for the tip.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Whats wrong with this If statement?

Hi I am pretty new to bash scripting.I am trying to write the if statement in bash and it give me error. Can you please help me what I am doing wrong in If statement? if && && then fector=$kk; divide=$DB_SIZE/$kk; echo "factor value:$fector" echo"divide value:$divide"... (1 Reply)
Discussion started by: Gevni
1 Replies

2. 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

3. UNIX for Dummies Questions & Answers

Whats wrong with this if-else

hi whats wrong in below?? CHECK=M10; if ; then echo "hello hi"; else echo "how are u hello hi"; fi I am getting error as ./test.sh: line 2: ' ./test.sh: line 2: M10: command not found ./test.sh: line 2: M10: command not found ./test.sh: line 2: M10: command not found (8 Replies)
Discussion started by: skyineyes
8 Replies

4. Homework & Coursework Questions

Whats wrong with the following

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: ls -ld htdocs drwxr-x--- 3 root root 8192 2006-11-19 10:41 htdocs How would a host administrator... (1 Reply)
Discussion started by: Larry_1
1 Replies

5. UNIX for Dummies Questions & Answers

whats wrong with this?

can anyone tell me why this code doesn't work how its supposed to, its the hangman game but it doesn't play how its supposed to #!/bin/bash NoAttempts="0" livesgiven="5" LivesRemain=$livesgiven LettersAttempted="" wordfile=words numwords=0 function menu() { clear cat << menu... (1 Reply)
Discussion started by: ferrycorsten73
1 Replies

6. Shell Programming and Scripting

whats wrong in this pls help how to take $i value ?

for i in `cat rgu` do echo $i sed -e '/LABEL=$i/,/fi/d' g_scripts > g_scripts2 cat g_scripts2 > g_scripts done (3 Replies)
Discussion started by: santosh1234
3 Replies

7. Shell Programming and Scripting

tell me whats wrong with this

#! /bin/bash USAGE=" | ] if then echo "$USAGE" exit 1 fi while getopts lb: OPTION do case $(OPTION)in a) echo Hi there! exit 2;; b) echo hello o) OARG=$OPTARG;; \?)echo "$USAGE" ;; exit 2;; esac done shift `expr... (1 Reply)
Discussion started by: nadman123
1 Replies

8. Shell Programming and Scripting

tell me whats wrong in this?

#! /bin/bash head -5 $1 echo "remove $1 ?" read answer if then echo invalid answer elif rm $1 echo "$1 is deleted" elif then echo file is not deleted else echo "invalid answer" fi What i really want this to do is to ask to delete the file or not..it says something wrong... (1 Reply)
Discussion started by: nadman123
1 Replies

9. 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

10. Shell Programming and Scripting

Whats wrong with the syntax

Whats wrong with below logic or syntax???? (4 Replies)
Discussion started by: dsravan
4 Replies
Login or Register to Ask a Question