OR variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting OR variable
# 1  
Old 05-07-2007
OR variable

Hi folks. Can someone tell me how I would declare a variable that has an OR statement. For example under date variable I want a OR:

Code:
#!/usr/bin/ksh
date=$((05 | 06 | 07))
CURRDATE=$(date +%d)
if [[ "$date" = "$CURRDATE" ]]
        then
                echo true
        else
                echo false
fi

# 2  
Old 05-07-2007
The syntax for an OR test using KSH pattern is :
Code:
if [[ "$CURRDATE" = @(05|06|07) ]]

You can try to put the OR pattern in a variable (not tested) :
Code:
#!/usr/bin/ksh
date=@(05|06|07)
CURRDATE=$(date +%d)
if [[ "$CURRDATE" = $date ]]
        then
                echo true
        else
                echo false
fi


Jean-Pierre.
# 3  
Old 05-07-2007
***deleted to avoid confusion.

Last edited by reborg; 05-08-2007 at 07:12 AM..
# 4  
Old 05-08-2007
Quote:
Originally Posted by aigles
Quote:
The syntax for an OR test using KSH pattern is :
Code:
if [[ "$CURRDATE" = @(05|06|07) ]]

Note: ksh93 is required.
This syntax is not ksh93 specific.
The following lines comes from the ksh88 man pages :
Code:
File Name Generation

Following substitution, each command word  is scanned for the characters *, ?, and [
unless the -f option has been set. 
If one of these characters appears then the word is regarded as a pattern.
The word is replaced with lexicographically sorted file names that match the pattern.
If no file name is found that matches the pattern, then the word is left unchanged. 
When a pattern  is used for file name generation, the character . at the start of a file name
or immediately following a /, as well as the character / itself, must be matched explicitly. 
In other instances of pattern matching the / and . are not treated specially. 

* Matches any string, including the null string. ? Matches any single character. [ . . . ] Matches any one of the enclosed characters. A pair of characters separated by - matches any character lexically between the pair, inclusive. If the first character following the opening "[ " is a "! " then any character not enclosed is matched. A - can be included in the character set by putting it as the first or last character.
A pattern-list is a list of one or more patterns separated from each other with a |. Composite patterns can be formed with one or more of the following:
?(pattern-list ) Optionally matches any one of the given patterns. *(pattern-list ) Matches zero or more occurrences of the given patterns. +(pattern-list ) Matches one or more occurrences of the given patterns. @(pattern-list ) Matches exactly one of the given patterns. !(pattern-list ) Matches anything, except one of the given patterns.

# 5  
Old 05-08-2007
Sorry Jean-Pierre,

You are correct. I wasn't thinking straight when I posted that, to avoid confusion I have removed the test from that post.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Passing variable as input & storing output in other variable

I have a below syntax its working fine... var12=$(ps -ef | grep apache | awk '{print $2,$4}') Im getting expected output as below: printf "%b\n" "${VAR12}" dell 123 dell 456 dell 457 Now I wrote a while loop.. the output of VAR12 should be passed as input parameters to while loop and results... (5 Replies)
Discussion started by: sam@sam
5 Replies

2. Shell Programming and Scripting

[Solved] How to increment and add variable length numbers to a variable in a loop?

Hi All, I have a file which has hundred of records with fixed number of fields. In each record there is set of 8 characters which represent the duration of that activity. I want to sum up the duration present in all the records for a report. The problem is the duration changes per record so I... (5 Replies)
Discussion started by: danish0909
5 Replies

3. Red Hat

How to pass value of pwd as variable in SED to replace variable in a script file

Hi all, Hereby wish to have your advise for below: Main concept is I intend to get current directory of my script file. This script file will be copied to /etc/init.d. A string in this copy will be replaced with current directory value. Below is original script file: ... (6 Replies)
Discussion started by: cielle
6 Replies

4. Shell Programming and Scripting

Variable not found error for a variable which is returned from stored procedure

can anyone please help me with this: i have written a shell script and a stored procedure which has one OUT parameter. now i want to use that out parameter as an input to the unix script but i am getting an error as variable not found. below are the unix scripts and stored procedure... ... (4 Replies)
Discussion started by: swap21783
4 Replies

5. Shell Programming and Scripting

Not able to store command inside a shell variable, and run the variable

Hi, I am trying to do the following thing var='date' $var Above command substitutes date for and in turn runs the date command and i am getting the todays date value. I am trying to do the same thing as following, but facing some problems, unique_host_pro="sed -e ' /#/d'... (3 Replies)
Discussion started by: gvinayagam
3 Replies

6. Shell Programming and Scripting

Split variable length and variable format CSV file

Dear all, I have basic knowledge of Unix script and her I am trying to process variable length and variable format CSV file. The file length will depend on the numbers of Earnings/Deductions/Direct Deposits. And The format will depend on whether it is Earnings/Deductions or Direct Deposits... (2 Replies)
Discussion started by: chechun
2 Replies

7. Shell Programming and Scripting

How to define a variable with variable definition is stored in a variable?

Hi all, I have a variable say var1 (output from somewhere, which I can't change)which store something like this: echo $var1 name=fred age=25 address="123 abc" password=pass1234 how can I make the variable $name, $age, $address and $password contain the info? I mean do this in a... (1 Reply)
Discussion started by: freddy1228
1 Replies

8. Shell Programming and Scripting

Insert a line including Variable & Carriage Return / sed command as Variable

I want to instert Category:XXXXX into the 2. line something like this should work, but I have somewhere the wrong sytanx. something with the linebreak goes wrong: sed "2i\\${n}Category:$cat\n" Sample: Titel Blahh Blahh abllk sdhsd sjdhf Blahh Blah Blahh Blahh Should look like... (2 Replies)
Discussion started by: lowmaster
2 Replies

9. Shell Programming and Scripting

Sed variable substitution when variable constructed of a directory path

Hello, i have another sed question.. I'm trying to do variable substition with sed and i'm running into a problem. my var1 is a string constructed like this: filename1 filerev1 filepath1 my var2 is another string constructed like this: filename2 filerev2 filepath2 when i do... (2 Replies)
Discussion started by: alrinno
2 Replies

10. Shell Programming and Scripting

ksh: A part of variable A's name is inside of variable B, how to update A?

This is what I tried: vara=${varb}_count (( vara += 1 )) Thanks for help (4 Replies)
Discussion started by: pa3be
4 Replies
Login or Register to Ask a Question