Sponsored Content
Top Forums Shell Programming and Scripting Using && in if statement with 3 expressions Post 302750835 by Don Cragun on Wednesday 2nd of January 2013 03:08:20 PM
Old 01-02-2013
Quote:
Originally Posted by angilulu
how do you write an if statement for something like
Code:
if ((expr 1 >= expr 2 && expr 3 >= expr 4) && expr 5 <= expr 6)

if ((TRUE && TRUE) && TRUE) then
condition...

i've done it this way but it doesn't seem to work.
Code:
if ([[ "$ex_year" -ge "$curr_year"  && "$ex_month" -ge "$curr_month" ]]  && "$ex_day" -le "$curr_day" ); then
       condition...

You don't say what shell you're using and it makes a big difference. With a shell conforming to the standards, the following will work:
Code:
if [ "$ex_year" -ge "$curr_year" ] && [ "$ex_month" -ge "$curr_month" ] && [ "$ex_day" -le "$curr_day" ]
then    echo true
else    echo false
fi

If you're using a recent bash or ksh, the following will also do what you want:
Code:
if [[ "$ex_year" -ge "$curr_year" && "$ex_month" -ge "$curr_month" && "$ex_day" -le "$curr_day" ]]
then    echo true
else    echo false
fi

This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

if statement with two conditions -e, &&

Wow I'm so zoned out I don't even know if I posted this question up already (I couldn't find it in my book marks or in "yesterday's" post). My question is, I'm writing a korn script that does something like the following, but I don't yet completely understand the syntax. I need to check that... (16 Replies)
Discussion started by: yongho
16 Replies

2. UNIX for Dummies Questions & Answers

wild card & regular expressions

Hi, guys I have a question what is wild card and regular expression, I think both of them same if not, please give me an example. thanks (1 Reply)
Discussion started by: eerener
1 Replies

3. Shell Programming and Scripting

using && in if statement ..

Hi All, Can some one tell me how to get run the following: data1="hello" data2="world" if then { echo "good afternnon" } else { echo " good morning" } fi The above code gives me an error ad below : ./if.h: line 3: ' (7 Replies)
Discussion started by: jisha
7 Replies

4. Shell Programming and Scripting

PHP read large string & split in multidimensional arrays & assign fieldnames & write into MYSQL

Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP. I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
Discussion started by: lowmaster
0 Replies

5. Shell Programming and Scripting

replace & with &amp; xml file

Hello All I have a xml file with many sets of records like this <mytag>mydata</mytag> <tag2>data&</tag2> also same file can be like this <mytag>mydata</mytag> <tag2>data&</tag2> <tag3>data2&amp;data3</tag3> Now i can grep & and replace with &amp; for whole file but it will replace all... (4 Replies)
Discussion started by: lokaish23
4 Replies

6. Shell Programming and Scripting

Replace & sign to &amp word

Hi, I have text file abc.txt. In this file, I have the following data. Input: Mr Smith &amp Mrs Smith Mr Smith &apos Mrs Smith Mr Smith & Mrs Smith Mr Smith& Mrs Smith Mr Smith &Mrs Smith Output: Mr Smith &amp Mrs Smith Mr Smith &apos Mrs Smith Mr Smith &amp Mrs Smith Mr Smith&amp... (4 Replies)
Discussion started by: naveed
4 Replies

7. Programming

IF && statement problem

Hello there, My first time on the forums, glad to be here :) I'm completely new to programming in PHP and I have a question which I hope someone could help me with. I am currently using this statement: if(($session == 2) && ($item == Dagger) && ($item2 == Dagger)){ ... (5 Replies)
Discussion started by: Hero
5 Replies

8. Shell Programming and Scripting

How to write If statement using && and operator in Unix

Hi What is the syntax for if statement using && and || operator? if && ] || here its giving me an error to this if statement any suggestion?? (2 Replies)
Discussion started by: Avi
2 Replies

9. Shell Programming and Scripting

if statement with '&&' gives error

Hi, I'm using the && operator in if statement: if ; then exp $UID/$PWD@$ORACLE_SID FILE=./DUMP/$TODAY$CONCAT_STR$USERNAME.dmp STATISTICS=NONE LOG=./LOG/$TODAY$CONCAT_STR$USERNAME.log elif ; then expdp $UID/$PWD@$ORACLE_SID DIRECTORY=./DUMP/ DUMPFILE=$TODAY$CONCAT_STR$USERNAME.dmp... (8 Replies)
Discussion started by: priya001
8 Replies

10. Shell Programming and Scripting

SFTP Shell Script Get & Delete && Upload & Delete

Hi All, Do you have any sample script, - auto get file from SFTP remote server and delete file in remove server after downloaded. - only download specify filename - auto upload file from local to SFTP remote server and delete local folder file after uploaded - only upload specify filename ... (3 Replies)
Discussion started by: weesiong
3 Replies
expr(1) 						      General Commands Manual							   expr(1)

NAME
expr - evaluate arguments as an expression SYNOPSIS
arguments DESCRIPTION
takes arguments as an expression, evaluates, then writes the result on the standard output. Terms in the expression must be separated by blanks. Characters special to the shell must be escaped. Note that rather than the null string, is returned to indicate a zero value. Strings containing blanks or other special characters should be quoted. Integer-valued arguments can be preceded by a unary minus sign. Internally, integers are treated as 32-bit, 2's complement numbers. The operators and keywords are listed below. Characters that need to be escaped are preceded by The list is in order of increasing prece- dence with equal-precedence operators grouped within symbols. Returns the first expr if it is neither null nor otherwise returns the second expr. In the UNIX 2003 environment, returns 0 if the first expr is null or and the second expr is null. Returns the first expr if neither expr is null or otherwise returns If both arguments are integers, and if the comparison is satisfied, expr returns otherwise it returns expr returns the result of an integer comparison if both arguments are integers; other- wise returns the result of a lexical comparison (note that and are identical, in that both test for equality). Addition or subtraction of decimal integer-valued arguments. Multiplication, division or remainder of decimal integer-valued arguments producing an integer result. The matching operator compares the first argument with the second argument which must be a regular expression. expr supports the Basic Regular Expression syntax (see regexp(5)), except that all patterns are ``anchored'' (i.e., begin with and, therefore, is not a special character, in that context. Normally, the matching operator returns the number of characters matched (0 on fail- ure). Alternatively, the pattern symbols can be used to return a portion of the first argument. The length of expr. Takes the substring of the first expr, starting at the character specified by the second expr for the length given by the third expr. Returns the position in the first expr which contains a character found in the second expr. Match is a prefix operator equivalent to the infix operator Grouping symbols. Any expression can be placed within parentheses. Parentheses can be nested to a depth of as specified in the header file EXTERNAL INFLUENCES
Environment Variables determines the collating sequence used in evaluating regular expressions and the behavior of the relational operators when comparing string values. determines the interpretation of text as single- and/or multi-byte characters, and the characters matched by character class expressions in regular expressions. determines the language in which messages are displayed. If or is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty variable. If is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to "C" (see environ(5)). If is set to it enables the UNIX 2003 Standard environment. International Code Set Support Single- and multi-byte character code sets are supported. RETURN VALUE
As a side effect of expression evaluation, expr returns the following exit values: Expression is neither null nor zero. Expression is null or zero. Invalid expression. An error occurred while evaluating the expression. DIAGNOSTICS
Operator or operand errors Arithmetic attempted on a string EXAMPLES
Add 1 to the shell variable For equal to either or just return the last segment of a path name (i.e., Beware of alone as an argument because expr interprets it as the division operator (see below): A better representation of the previous example. The addition of the characters eliminates any ambiguity about the division operator and simplifies the whole expression: Return the number of characters in WARNINGS
After argument processing by the shell, expr cannot tell the difference between an operator and an operand except by the value. If is an the command: resembles: as the arguments are passed to expr (and they will all be taken as the operator). The following works: AUTHOR
was developed by OSF and HP. SEE ALSO
sh(1), test(1), environ(5), lang(5), regexp(5). STANDARDS CONFORMANCE
expr(1)
All times are GMT -4. The time now is 08:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy