or in a IF condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting or in a IF condition
# 8  
Old 02-13-2011
Hmm another example of daft Posix ideas.
To my mind the "-o" and "-a" syntax is easier to follow - expecially when bracketed for clarity. However if you happen to be a "C language" programmer you may disagree.

But ... a "case" statement may take more time to type but is a much more readable for the next person to read your script.
# 9  
Old 02-14-2011
Quote:
Originally Posted by methyl
Please post the actual script, explaining what is not working.
Code:
if [$connect == "n" -o $connect == "N" -o $connect == "no" -o $connect == "No" -o $connect == "NO"]
then

echo "i am in N"

else
echo "i am in Y"

fi

Moderator's Comments:
Mod Comment
Please use code tags when posting data and code samples!

Last edited by vgersh99; 02-14-2011 at 08:10 AM.. Reason: code tags, please!
# 10  
Old 02-14-2011
You need spaces around the square brackets and you need weak quotes around the variables. Try this:
Code:
if [ "$connect" = n -o "$connect" = N -o "$connect" = no -o "$connect" = No -o "$connect" = NO ]; then

or preferrably this:
Code:
if [ "$connect" = n ]||[ "$connect" = N ]||[ "$connect" = no ]||[ "$connect" = No ]||[ "$connect" = NO ]; then

I would use a case statement;
Code:
case $connect in
  n|N|no|No|NO)
    echo "i am in N" ;;
  *)
    echo "i am in Y" ;;
esac


Last edited by Scrutinizer; 02-14-2011 at 09:03 AM.. Reason: Corrected == into =
This User Gave Thanks to Scrutinizer For This Post:
# 11  
Old 02-14-2011
Quote:
if [ "$connect" == n -o "$connect" == N -o "$connect" == no -o "$connect" == No -o "$connect" == NO ]; then
or preferrably this:

if [ "$connect" == n ]||[ "$connect" == N ]||[ "$connect" == no ]||[ "$connect" == No ]||[ "$connect" == NO ]; then
@Scrutinizer In both cases the above syntax will only work with bash.
In unix "Posix" shells there is no "==" operator.
I agree that the "case" solution is the best.
This User Gave Thanks to methyl For This Post:
# 12  
Old 02-14-2011
You are right Smilie, I overlooked the double == . It should be single = everywhere... I corrected my post...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with if condition

o/p of my command is given below My requirement is if Pnumber is 0 then stabilization.Build.2013 else stabilization.PBuild.2013.3 (11 Replies)
Discussion started by: nikhil jain
11 Replies

2. UNIX for Dummies Questions & Answers

IF [ condition ] help

Hi all Unix newbie - please be gentle Am modifying an existing script to error trap a variable with a length of 0 #!/bin/bash ipfile='/var/data/bin/ipaddress' ] && ipold="$(< "$ipfile" )" ipnew="$( wget -q -O - checkip.dyndns.org | sed -e 's/.*Current IP Address: //;s/<.*$//' )" #... (6 Replies)
Discussion started by: CRChamberlain
6 Replies

3. Shell Programming and Scripting

If condition return 0 even when it fails to satisfy te condition

HI My doubt may be basic one but I need to get it clarified.. When i use "if" condition that checks for many AND, OR logical conditions like if ]; then return 0 fi Even the if condition fails it returns as zero.. Any clue.. But if i add else condition like if ]; ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies

4. Shell Programming and Scripting

if condition

if chr1:109457160 1 109457160 99.1735537190083 + chr1:109457233 1 109457233 99.1735537190083 - chr1:109457614 1 109457614 99.1735537190083 + chr1:109457618 1 109457618 100 + chr1:109457943 1 109457943 100 - chr1:109458224 1 109458224 99.1735537190083 - file1.txt If 6th column in... (3 Replies)
Discussion started by: johnkim0806
3 Replies

5. Shell Programming and Scripting

redirect stdout echo command in condition A run in condition B

hi, I have some problems in my simple script about the redirect echo stdout command inside a condition. Why is the echo command inside the elif still execute in the else command Here are my simple script After check on the two diff output the echo stdout redirect is present in two diff... (3 Replies)
Discussion started by: jao_madn
3 Replies

6. HP-UX

Difference between [condition] and [[condition]] and ((condition)) when used with if condition

Executed the following if conditions .. and got different results . only (( )) gave correct o/p with all scenarios . Can anybody please let me know what is the difference between and ] and ((condition)) when used with if condition. And why each condition gave different result. 1.... (2 Replies)
Discussion started by: soumyabubun
2 Replies

7. Shell Programming and Scripting

If Condition

Hi, I am trying to execute this command, but is it not working, says "`;' unexpected" eval $lgrep $SAM_CMD ; if ; then ; echo "No Error" ; fi What i want is, return the command output, if it is non zero, say "No Error". Thanks, John. (21 Replies)
Discussion started by: john_prince
21 Replies

8. Shell Programming and Scripting

if..else condition

i have a paramter data_date in which i am passing a string value.i want to find out another paramter file_date from this.the logic is given below if day of data_date = sunday or monday then file_date=data_date-1 else file_date=data_date-2 i am passing data_date as 20061027. how can i... (3 Replies)
Discussion started by: dr46014
3 Replies

9. Shell Programming and Scripting

if condition

Hi friends, :) In a shell script i found the following if condition. echo -n "Which version of $1 do you want to restore ('0' to quit)? : " read desired if ${desired:=1} -ge $index ] ; then echo "$0: Restore canceled by user: index value too big." >&2 exit 1 fi Can... (1 Reply)
Discussion started by: ravi raj kumar
1 Replies

10. Shell Programming and Scripting

if condition ...

i have following if condition if above statement is case sensitive.....what is syntax if i have to make above comparision case insensetive (4 Replies)
Discussion started by: mahabunta
4 Replies
Login or Register to Ask a Question