Logical and vs. conditional loop


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Logical and vs. conditional loop
# 1  
Old 05-22-2009
Logical and vs. conditional loop

Simple question. What's the difference (pros and cons) between these two:

Code:
if [ -n $_var] ; then
    condition1
elif [ -z $_var ] ; then
    condition2
fi

Code:
[ -n $_var ] \
    && condition1 \
    || condition2

Is the second method faster as the whole line gets loaded into memory? Just looking for some tips of when I should use one or another.

Thanks!!

Vic
# 2  
Old 05-22-2009
First, those are branching expressions, not loops. Now that we have the terminology out of the way: The first one has better readability and is easier to maintain should there be the need for additional commands in one of the blocks. The second one is simpler, but should condition1 fail, condition2 will still be evaluated. I don't think there's any difference in speed or memory consumption (at least I never experienced any) since shell scripts (at least ksh/bash/zsh) are compiled at execution time and not read line by line (like .bat/.cmd files in Windows).
Just my €0.02
# 3  
Old 05-23-2009
Conditional execution (not loops)

Quote:
Originally Posted by victorbrca
Simple question. What's the difference (pros and cons) between these two:

Code:
if [ -n $_var] ; then
    condition1
elif [ -z $_var ] ; then
    condition2
fi

Code:
[ -n $_var ] \
    && condition1 \
    || condition2

Is the second method faster as the whole line gets loaded into memory? Just looking for some tips of when I should use one or another.

The two are not equivalent.

In the form:
Code:
command1 &&
 command2 ||
  command3

command3 will be executed if either command1 or command2 fails.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Logical if error

Hi All, I am writing a simple script to read a file and display the lines with char count between 20 and 25. I am stuck with the if condition here. Tried a lot but still getting an error on the if condition # if && if && My script is very simple as below, not able to understand... (7 Replies)
Discussion started by: nss280
7 Replies

2. AIX

Logical Partitions?

I'm trying to find out how many logical partitions our AIX box has. I'm running the command: topas -C and nothing is showing up. Is it safe to say that there is only one LPAR, which is what AIX is installed on? Move to AIX - jim mc (2 Replies)
Discussion started by: NycUnxer
2 Replies

3. Shell Programming and Scripting

Logical error

I have this script to uvscan-update. Seems like that i am getting logical error at the end of the script. It is updating the script and also giving the error message to update it manually. I have deleted the DAT files to see if it will create new and it does. Below is the error and the script: ... (1 Reply)
Discussion started by: mk07md
1 Replies

4. Shell Programming and Scripting

A logical problem.

I'm having a logical problem.Can anybody help me. while ] do echo " Enter the Zip File Name : \c" read ZipFile done In the above snippet - I want it ask for file name first time and once validation fails, I want it add a msg that its entered file name doesn't exist and ten prompt... (3 Replies)
Discussion started by: dashok.83
3 Replies

5. Shell Programming and Scripting

op of logical operator

Why the op of the following code is like this ???? i=4 j=-1 k=0 echo $? echo $? echo $? (5 Replies)
Discussion started by: lipun4u
5 Replies

6. Shell Programming and Scripting

How to do logical AND and logical OR with grep

Hi can someone please help me on this. I need to perform this code: Grep any lines that meets the following criteria (A AND B) OR (A AND C) I tried this code, but it didn't work Grep-I "A &&B" | "A&&C" *.* $ thanks in advance (12 Replies)
Discussion started by: Needhelp2
12 Replies

7. Shell Programming and Scripting

for i loop with conditional statements?

New to scripting in general, so patience plz. If I ask a stupid question or don't get it, I thank you for your kindness in advance. That said, did a for i loops checks to see if a PB* file is there but I need to know two things before I copy the file. I need to know if the file's create date... (2 Replies)
Discussion started by: xgringo
2 Replies

8. Shell Programming and Scripting

Logical OR using sed

Hello, This must be a novice question to you folks. But I searched through various places and did not find an answer to this question: How do we perform a logical OR operation using sed command? For example, I want to write a command that extracts all the text between pattern1 and pattern2 OR... (0 Replies)
Discussion started by: thejasviv
0 Replies

9. Shell Programming and Scripting

logical if condition

hi i have the following scenario #!/bin/sh a=21.0 b=33.0 c=16.0 cmd=20 cmd1=30 if && ] then echo "problem....." exit 1 else echo "ok" exit 0 fi the issue here is the above condition is never TRUE coz a>cmd && b >cmd1 (7 Replies)
Discussion started by: nano2
7 Replies

10. News, Links, Events and Announcements

Did not know about logical volumes

I had just updated - reinstalled - my RH9 to a Fedore Core 3. I did not know about the Logical volumes that automatically combined partitions on drive 1 and 2 into one mounted volume. In my attempts to do something with the hdb2 partition - not knowing that it was already in use - I killed my... (2 Replies)
Discussion started by: gezi
2 Replies
Login or Register to Ask a Question