Help with ksh using OR condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with ksh using OR condition
# 1  
Old 01-04-2012
Help with ksh using OR condition

I'm having an issue using OR condition, the script seems to work just fine but gives an error message while executing as can be seen in BOLD RED below:

Code:
Code:
#cat test.sh
#!/bin/ksh
set -x
if [ "lsdev -Cc adapter | grep fcs | grep -v "Virtual Fibre Channel"" ] || [ "lsdev -Cc adapter | grep fcs | grep "Virtual"" ] > /dev/null 2>&1;then
        echo "Fibre adapter found"
else
        echo "No fibre adapter"
fi

Output:
Code:
 #./test.out
+ [ lsdev -Cc adapter | grep fcs | grep -v Virtual Fibre Channel ]
./test.out[3]: Fibre: 0403-012 A test command parameter is not valid.
+ [ lsdev -Cc adapter | grep fcs | grep Virtual ]
+ 1> /dev/null 2>& 1
+ echo Fibre adapter found
Fibre adapter found


Thanks

Last edited by methyl; 01-04-2012 at 04:44 PM.. Reason: sort tags
# 2  
Old 01-04-2012
Script is very buggy and does not execute the "lsdev" commands at all.
Gone for a think.
# 3  
Old 01-04-2012
If you're just testing to make sure your AIX box sees the fibre cards, then this may help point you in the right direction:

Code:
#!/bin/ksh
set -x
COUNT=$(lsdev -Cc adapter | egrep -c -e 'fcs' 2>/dev/null)
if [ ${COUNT} -gt 0 ]
then
        echo "Fibre adapter found"
else
        echo "No fibre adapter"
fi

Hope this helps.
This User Gave Thanks to in2nix4life For This Post:
# 4  
Old 01-04-2012
Help with ksh using OR condition

You're right, the script is not working the way it should after I added the OR (||) condition, can someone help me with the correct way to add the OR condition as I'm trying to test to see if AIX box has either the physical fibre card or the virtual.
# 5  
Old 01-04-2012
(Posts crossed)
It always helps to mention what Operating System and version you have.
On HP-UX the "lsdev" commands posted are syntax errors.

Please can you post a standalone valid "lsdev" command and matching output which contains the the word "Virtual".
It might be:
Code:
lsdev -C adapter

It might not!

I am absolutly certain that this script (in post #1) does not execute the "lsdev" command at all. It's just got text strings in double quotes which happen to be commands.
# 6  
Old 01-04-2012
Help with ksh using OR condition

Here is the below output from OS AIX6.1, the 1st lsdev output is using Virtual adapters and the other one physical.

Code:
#lsdev -Cc adapter | grep fcs | grep "Virtual"
fcs0 Available 00-T1 Virtual Fibre Channel Client Adapter
fcs1 Available 01-T1 Virtual Fibre Channel Client Adapter
fcs2 Available 00-T1 Virtual Fibre Channel Client Adapter
fcs3 Available 01-T1 Virtual Fibre Channel Client Adapter

#lsdev -Cc adapter | grep fcs | grep -v "Virtual"
fcs0   Available 03-08 FC Adapter
fcs1   Available 01-08 FC Adapter

# 7  
Old 01-04-2012
The script by in2nix4life in post #3 appears to be exactly what you need.
If you feel that you need to match on more than "fcs" I'm sure you can adapt the post.


Your original script was beyond economical repair (tongue in cheek).
This User Gave Thanks to methyl 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

ksh : Building an array based on condition result

I want to build an Errorlog. I would like to build an array as I move through the if statements and print the array once all error conditions have been defined. The results need to be comma delimited. tsver will be static "1.9.6(2)" other vars $prit $lt $rt can have the same or a different... (1 Reply)
Discussion started by: popeye
1 Replies

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

3. UNIX for Dummies Questions & Answers

if condition in ksh

in my code if condition is not working. i am using array in the if condition the code: set -A rt 0 1 7 13 21 echo "Please enter a choice" read choice; for i in 0 1 2 3 4 do if }] then echo "something" fi done (6 Replies)
Discussion started by: jeanzibbin
6 Replies

4. Shell Programming and Scripting

ksh: how to extract strings from each line based on a condition

Hi , I'm a newbie.Never worked on Unix before. I want a shell script to perform the following: I want to extract strings from each line ,based on the type of line(Nameline,Subline) and output it to another file.Below is a sample format. 2010-12-21 14:00"1"Nameline"Midterm"First Name:Jane ... (4 Replies)
Discussion started by: angie1234
4 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. Shell Programming and Scripting

syntax of if condition in ksh is wrong

The syntax of 'if' conditionals in bash and ksh seems different. I am trying to check for a particular version using 'if' in ksh. This very simple syntax gives syntax error. I have tried many variants, but no go. Please correct the syntax. Later I will expand it to 'if' and 'else'. #!/bin/ksh... (8 Replies)
Discussion started by: nivedhitha
8 Replies

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

8. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

9. Shell Programming and Scripting

combination between || and && in IF condition with ksh

Dear All, Please advice about this issue. when i run this line in a script if && || && || && if i enter $x = test3 and $y = test1 the If condition apply while it should not Best Regards (2 Replies)
Discussion started by: islam.said
2 Replies

10. Shell Programming and Scripting

If and Or Condition in Unix [ksh]

I have the code below. I want to said If TrackErrors > 0 or count == 0 then MailErrors else MailSuccess fi. if then MailErrors ${count} else MailSuccess ${count} fi Any helps greatly appreciated. (2 Replies)
Discussion started by: leemjesse
2 Replies
Login or Register to Ask a Question