Condition checking issue while if


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Condition checking issue while if
# 8  
Old 07-19-2013
For comparing numeric values you may use the -eq operator and there no need to enclose the variable holding numeral in quotes.

Code:
if [ "$end_ct" = "END CAT" ] && [ $emtr_cnt -eq 1 ]; then
echo $end_ct
else
echo "value not found"
fi

# 9  
Old 07-19-2013
have made changes into the below code as suggest:

Code:
if [ "$end_ct" -eq "END CAT" ] && [ $emtr_cnt -eq 1 ]; then

but now it is giving error "bravo_main_refresh.sh: test: unknown operator ----------"
# 10  
Old 07-19-2013
For the first condition to match string use "=" instead of "-eq" like I posted above.
# 11  
Old 07-19-2013
but when i am using = in the first condition then it is giving error "bravo_main_refresh.sh: test: unknown operator ----------"

now my condition is like the following:
Code:
if [ "$end_ct" -eq "END CAT" ] || [ $emtr_cnt -eq 1 ]; then


i have changed && to ||, and its working properly now.

Last edited by Don Cragun; 07-19-2013 at 07:04 AM.. Reason: CODE tags again
# 12  
Old 07-19-2013
Quote:
Originally Posted by lovelysethii
but when i am using = in the first condition then it is giving error "bravo_main_refresh.sh: test: unknown operator ----------"

now my condition is like the following:
Code:
if [ "$end_ct" -eq "END CAT" ] || [ $emtr_cnt -eq 1 ]; then


i have changed && to ||, and its working properly now.
It may be working, but it is not working properly.

When comparing strings, use the = operator; when comparing numbers, use the -eq operator.

If you want the then code to run only when both conditions are TRUE, use the && operator to separate the test commands. If you want the then code to run when either or both conditions are TRUE, use the || operator to separate the test commands.

So, you need:
Code:
if [ "$end_ct" = "END CAT" ] || [ $emtr_cnt -eq 1 ]; then
        or
if [ "$end_ct" = "END CAT" ] && [ $emtr_cnt -eq 1 ]; then

You said you were adding a condition, but you never said whether you require both conditions to evaluate to TRUE or if you only require one of the conditions to evaluate to TRUE.
This User Gave Thanks to Don Cragun For This Post:
# 13  
Old 07-19-2013
i actually don't know the difference between && and ||. can you please elaborate.
# 14  
Old 07-19-2013
Quote:
Originally Posted by lovelysethii
i actually don't know the difference between && and ||. can you please elaborate.
test1 && test2 evaluates to TRUE if test1 evaluates to TRUE and test2 evaluates to TRUE. (Note that test2 won't be evaluated if test1 evaluates to FALSE.)

test1 || test2 evaluates to TRUE if test1 evaluates to TRUE or test2 evaluates to TRUE, or both evaluate to TRUE. (Note that test2 won't be evaluated if test1 evaluates to TRUE.)
This User Gave Thanks to Don Cragun For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Checking for null condition in a UNIX variable

i have this code for i in `cat sql_output.txt` do -- some script commands done sql_output.txt has 1 column with employee_ids If the sql_output.txt is null then the do loop should not execute. How can i implement this. for i in `cat sql_output.txt` If i is null or empty then ... (5 Replies)
Discussion started by: rafa_fed2
5 Replies

2. Shell Programming and Scripting

Condition checking in UNIX

i have a script where i have to find the age of a file, if then echo "dnb file is present for the monthly load" >> $RUNLOG dnb="1" else echo "dnb file has not arrived yet" > $ERRLOG dnb="0" fi i know the file is available so... (3 Replies)
Discussion started by: lovelysethii
3 Replies

3. Shell Programming and Scripting

Checking file existence along with condition

Hi am trying to write a script which find the existence of a file from a find command output and perform a task if the file exists. Help me out with the correct syntax . Am trying with the following one but unable to get the output. if then <some tasks> else echo "file not exists" fi (5 Replies)
Discussion started by: rogerben
5 Replies

4. Shell Programming and Scripting

Multiple condition checking in bash

Hi All, I am trying to check if two variables have value assigned to it. i am doing it like if ] then echo "Please specify either single hostname or host file for the report" usage exit fi But its not working for it.Even i specify values for both variables it dont go... (6 Replies)
Discussion started by: kailash19
6 Replies

5. Shell Programming and Scripting

create separate file after checking condition..

Problem : I want to create a separate file for country list if condition is true. Please help. ***************************************************** Input file: SV-INCR-139302-365540488-201104090934.sqllog SV-INCR-1082-552793184-201104040805.sqllog SV-INCR-1077-855045741-201104040805.sqllog... (4 Replies)
Discussion started by: humaemo
4 Replies

6. Shell Programming and Scripting

Cutting specific line of a file by checking condition

testfile.csv 0","1125209",,"689202CBx18888",,"49",,,"NONMC",,,,,"01112010",,,,,,,"MTM- "1","",,"689202ABx19005",,"49",,,"NONMC",,,,,"01072010",,,,,,,"MTM- testfile.csv looks like above format if the second column is null then get 23rd column and store in a different varible .. add all the... (1 Reply)
Discussion started by: mgant
1 Replies

7. Shell Programming and Scripting

Unzip file By checking condition.

Hi.. Gurus I Have a list of .zip files in a directory. I want to check whether each .zip file having some particular file or not (say .jsp) if it's having .Jsp file then create a directory as per the .zip file and extract the content to that directory except the .jsp file, If .zip not having... (3 Replies)
Discussion started by: posix
3 Replies

8. Shell Programming and Scripting

sed solution for condition checking

Hi all , Recently i came across this in FAQ's. I have a file cat rem.txt sreedhar 20 sreedhar 10 sreedhar 15 sreedhar 18 sreedhar 16 sreedhar 30 I have to replace sreedhar with "Sridhar" if the second parameter is > 18. I need to do it in "sed" only. I am wondering how this... (4 Replies)
Discussion started by: panyam
4 Replies

9. Shell Programming and Scripting

Checking condition inside the loop

Hi all, I have one clarification i am using the loop which will process for each record .suppose there is f ailure in the first record it need to send mail and process the next .my code: defcount=`cat <filename>|wc -l` while ] do if <some condiotion> then echo "mail" fi done so... (1 Reply)
Discussion started by: ithirak17
1 Replies

10. Shell Programming and Scripting

Condition checking

Dear all That's another problem from me, i wanna do a lot of if statement checking for correct input by user, will be prompt input again if the input not meet the requirement defined by If or while statement... like this one .... while I know it's less effiency write the program... (14 Replies)
Discussion started by: trynew
14 Replies
Login or Register to Ask a Question