Problems with if condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problems with if condition
# 1  
Old 06-10-2014
Problems with if condition

My code:
Code:
server="icapp1 icapp6 ihapp1 ihapp6 icapp2 icapp3 icapp4 ihapp2 ihapp3 ihapp4 icapp5 ihapp5 "
printf "\nCheck server: "
read input
if [ $input == $server ]
then

and the problem is "$input == $server" is wrong SmilieSmilieSmilie. Can someone fix this for me. I don't want to use || for all these servers.
Thanks
# 2  
Old 06-10-2014
try
Code:
servers="icapp1 icapp6 ihapp1 ihapp6 icapp2 icapp3 icapp4 ihapp2 ihapp3 ihapp4 icapp5 ihapp5 "
for server in $( echo $servers | nawk '{A[++c] = $0} END { for ( i = 1; i <= c; i++ ) { print A[i] }}' RS=' ' );
do
read input
if [ $input == $server ]
then
   echo "Success"
else
   echo "Failure"
fi
done

This User Gave Thanks to Makarand Dodmis For This Post:
# 3  
Old 06-10-2014
grep?

Why not grep for $input in $server?

Code:
$ server="ix1 ix2 bx1 bx2"

$ echo $server
ix1 ix2 bx1 bx2

$ var1="ix1"

$ echo $var1
ix1

$ echo $server | grep $var1
ix1 ix2 bx1 bx2

$ var1="ix3"

$ echo $server | grep $var1

$


Last edited by joeyg; 06-10-2014 at 08:34 AM.. Reason: added example
This User Gave Thanks to joeyg For This Post:
# 4  
Old 06-10-2014
Try
Code:
[ "${server}" != "${server/$input//}" ] && echo OK || echo NOK

This User Gave Thanks to RudiC For This Post:
# 5  
Old 06-10-2014
Code:
server="icapp1 icapp6 ihapp1 ihapp6 icapp2 icapp3 icapp4 ihapp2 ihapp3 ihapp4 icapp5 ihapp5 "
for i in $server
do
  if [ "$i" = "$input" ]; then
    echo hello
  fi
done

Code:
case $server in
  ("$input "*|*" $input "*|*" $input")
     echo hello
esac


--
@RudiC @joeyg. There is a potential mismatch if there is a printer called icapp40 in the list for example or vice versa..

--edit--
Added spaces around equal sign, thanks clx..

Last edited by Scrutinizer; 06-10-2014 at 09:51 AM..
These 4 Users Gave Thanks to Scrutinizer For This Post:
# 6  
Old 06-10-2014
Not sure, whether you want something like this ?

Code:
#!/bin/bash

server="icapp1 icapp6 ihapp1 ihapp6 icapp2 icapp3 icapp4 ihapp2 ihapp3 ihapp4 icapp5 ihapp5 "

# -p "Prompt" : Display prompt to user without a newline 
read -p "Check Server : " server_name 


# i -> stands for upper/lower case 
# w -> --word-regexp

if grep -iw "$server_name" <<<"$server" >/dev/null; then
	echo "Yes $server_name found in server list"
         # some more code...
else
	echo "No $sever_name not found in server list"
        # some more code...
fi

This User Gave Thanks to Akshay Hegde For This Post:
# 7  
Old 06-10-2014
Try
Code:
X="¦"${server// /¦}"¦"
[ "${X}" != "${X/¦$input¦/}" ] && echo OK || echo NOK

EDIT: or
Code:
X=" $server "
[ "${X}" != "${X/ $input /}" ] && echo OK || echo NOK


Last edited by RudiC; 06-10-2014 at 09:14 AM..
This User Gave Thanks to RudiC 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

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

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

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

4. Shell Programming and Scripting

If condition

Hi All, I am using the below if command to comparing two variables but is condition is true but going in else part. ################# if ; then TAKE_SNAPS echo "Snaps updates done" UPDATE_DS_SNAPS_TAKEN else echo "Seemes DS & JDP is still running KIndly... (4 Replies)
Discussion started by: ajaincv
4 Replies

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

6. Shell Programming and Scripting

if condition

Hi how to write this: if then usage fi thx (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

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

8. UNIX for Dummies Questions & Answers

if condition

suppose a name is read how to check whether the name contains only alphabets and space not non-alphabetic characters and special characters (5 Replies)
Discussion started by: manisha_agrawal
5 Replies

9. UNIX for Dummies Questions & Answers

help with if condition

Does anybody know when the following if condition is true (ie. what it means) if ($1 ~ "^") thnx :) rkap (2 Replies)
Discussion started by: rkap
2 Replies

10. UNIX for Advanced & Expert Users

'make' problems (compliation problems?)

I'm trying to compile and install both most recent version of 'make' and the most recent version of 'openssh' on my Sparc20. I've run into the following problems... and I don't know what they mean. Can someone please help me resolve these issues? I'm using the 'make' version that was... (5 Replies)
Discussion started by: xyyz
5 Replies
Login or Register to Ask a Question