Variable comparison in 'if' with a string.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Variable comparison in 'if' with a string.
# 1  
Old 10-04-2010
Question Variable comparison in 'if' with a string.

Hi All,

I want to compare the variable value with string in a shell script.
my code is:
Code:
for var in $packsName
do 
 if [ $var -ne 'ABC' || $var -ne 'XYZ' ]
 then
   echo $var
 fi
done

But I am getting error as:
Code:
ABC : not found.

Am I going wrong somwhere?
please guide.

Thanks.

Last edited by Franklin52; 10-04-2010 at 05:39 AM.. Reason: Please use code tags!
# 2  
Old 10-04-2010
Code:
for var in $packsName
do 
if [ "$var" != "ABC" -o "$var" != "XYZ" ]
then
echo $var
fi
done

But I don't know if this test is really what you want to have, as it will always return true Smilie
# 3  
Old 10-04-2010
What I want is, in all the values for $var, I dont want the statements to be executed for ABC and XYZ.

I tried your solution, but it still prints for ABC and XYZ.
I dont want it to be printed.. Smilie
# 4  
Old 10-04-2010
Try:
Code:
for var in $packsName
do 
  if [ "$var" != "ABC" -a "$var" != "XYZ" ]
  then
    echo $var
  fi
done

# 5  
Old 10-04-2010
Thanks, -a option worked.

Can you please tell me the difference between -o and -a option?
# 6  
Old 10-04-2010
Quote:
Originally Posted by AB10
Thanks, -a option worked.

Can you please tell me the difference between -o and -a option?
-o means logical OR, while -a is logical AND.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk string comparison unterminated quoted string andrule of thumb

I have the logic below to look up for matches within the columns between the two files with awk. In the if statement is where the string comparison is attempted with == The issue seems to be with the operands, as 1. when " '${SECTOR}' " -- double quote followed by single quote -- awk matches... (1 Reply)
Discussion started by: deadyetagain
1 Replies

2. Homework & Coursework Questions

passing letters from an array into a string for string comparison

attempting the hangman program. This was an optional assignment from the professor. I have completed the logical coding, debugging now. ##I have an array $wordString that initializes to a string of dashes ##reflecting the number of letters in $theWord ##every time the user enters a (valid)... (5 Replies)
Discussion started by: lotsofideas
5 Replies

3. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

4. Shell Programming and Scripting

Help with string comparison

#!/bin/sh PRINTF=/usr/bin/printf MACHINE_NAME=`uname -n` TIME=`date +"%H"` $PRINTF "Welcome to $MACHINE_NAME. What is your name?\n" read NAME if ; then $PRINTF "Good morning $NAME, how are you?\n" elif ; then $PRINTF "Good afternoon $NAME, how are you?\n" else $PRINTF "Good... (2 Replies)
Discussion started by: ikeQ
2 Replies

5. Shell Programming and Scripting

Variable comparison

Can anyone help me with this section of code? The scenario is a value drops from A to B or A to C or B to C. If it drops from A to B or B to C, we print "Drop one level" If it drops from A to C, we print "Dropped two levels". The problem is script is throwing error when comparing variable... (2 Replies)
Discussion started by: sundar63
2 Replies

6. UNIX and Linux Applications

Need Help on String Comparison

Hi , My requirement is to read from a file into a variable. I need to check if the variable is equal to string "no rows selected". The sh script snippet is as follows: file=/data/lpgtwo/home/nikhilp/TriggerNames.txt echo $file var=`cat $file` echo $var if then echo "No... (3 Replies)
Discussion started by: MNG
3 Replies

7. Shell Programming and Scripting

String comparison

Hi, I have the below logic. Here 'X' is a variable having some string. if then echo "i dont need to go to ofc" else echo "i need to go to ofc" Please help me to write it in unix. Thanks. (2 Replies)
Discussion started by: 46019
2 Replies

8. Shell Programming and Scripting

variable comparison

Hello, I am trying to compare two variables, which both have a word stored in it. The code I am using is. Please tell me which one of these is correct.Or please tell me the correct syntax. Thankyou if then if then if then if then if then None of them seems to work... (3 Replies)
Discussion started by: Freakhan
3 Replies

9. Shell Programming and Scripting

Help with String Comparison

I'm running the following script to compare string values to a regexp: for entry in $(lpinfo -v | cut -c 1-); do if then echo "blah" continue fi done Whenever I run it, each token of lpinfo is being interpreted as a command and I get errors such as: ... (2 Replies)
Discussion started by: hypnotic_meat
2 Replies

10. Shell Programming and Scripting

string comparison

Hello experts, (tcsh shell) Quite new to shell scripting... I have got a file with a single word on each line. Want to be able to make a comparison such that i can read pairs of words that are ROT13 to each other. Also, i would like to print the pairs to another file. Any help... (5 Replies)
Discussion started by: Jatsui
5 Replies
Login or Register to Ask a Question