Why Relational Expression is Writing to a Expression?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Why Relational Expression is Writing to a Expression?
# 1  
Old 12-14-2012
Why Relational Expression is Writing to a Expression?

Hello All,

Not sure why this is happening...

When the following If Statement is evaluated for some reason it is creating a file in the CWD called '0'. I've seen this happen
before, just not in an If Statement...

CODE:
Code:
if [ $# > 0 ]
 then
    DIR_NAME="$1"
    DIR_SIZE=0
    STATUS=""

else
    echo "ERROR: No Arguments were found."
    exit 3

fi

If anyone knows why my Relational Expression of the If Statement seems to be redirecting output to '0',
instead of just evaluating the expression, please feel free to reply...


Thanks in Advance,
Matt
# 2  
Old 12-14-2012
Code:
if [ $# -gt 0 ]

This User Gave Thanks to Yoda For This Post:
# 3  
Old 12-14-2012
> means file redirection in shell language.

Code:
echo "hello world" > file

If you want to compare integers in shell within [ ], that is -gt, -lt, -ge, -le, -eq.

Code:
if [ "$#" -gt 0 ]
then
...
else
...
fi

But personally, I'd do it like this:

Code:
if [ "$#" -eq 0 ]
then
        echo "not enough arguments"
        exit 1
fi

echo "other stuff"

So that you don't need to track as many if/else/fi blocks and do much less indenting in the 99% of your program that's going to be outside your error code.
This User Gave Thanks to Corona688 For This Post:
# 4  
Old 12-14-2012
Hey bipinajith and Corona688, thanks for your replies...

DUHH.... Thanks, that just completely slipped my mind.
I knew it had to be something little I was overlooking...


Thanks Again,
Matt
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help required in writing the regular expression.

1 1982 1 testing init.cc 3001 Apr 25 2014 09:56:13.617 Task(0x5bac5060) tRestart (stack st:0x5bace000, end:0x5bac8000) deleted 1 1982 1 testing init.cc 3001 Apr 25 2014 09:56:13.628 Task(0x5bac5060) tRestart (stack st:... (12 Replies)
Discussion started by: VSSajjan
12 Replies

2. UNIX for Advanced & Expert Users

sed: -e expression #1, char 0: no previous regular expression

Hello All, I'm trying to extract the lines between two consecutive elements of an array from a file. My array looks like: problem_arr=(PRS111 PRS213 PRS234) j=0 while } ] do k=`expr $j + 1` sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt ---some operation goes... (11 Replies)
Discussion started by: InduInduIndu
11 Replies

3. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

4. UNIX for Dummies Questions & Answers

Look for an expression in VI

Hi, on HP Unix; how to look for an expression in vi ? I know look for a word : /myword But for an expression like "Jun 23 11:30" ?? Thank you. (4 Replies)
Discussion started by: big123456
4 Replies

5. Shell Programming and Scripting

Integer expression expected: with regular expression

CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error. source $CA_VERSION_DATA if * ] then echo "CA_RELESE $CA_RELEASE is invalid" exit -1 fi + source /etc/ncgl/ca_version_data ++ CA_PRODUCT_ID=samxts ++ CA_RELEASE=6 ++ CA_WEEK_NO=7 ++... (3 Replies)
Discussion started by: ketkee1985
3 Replies

6. Shell Programming and Scripting

Help need in writing Regular Expression

Hi I need some help in writing a Regular expression. I am getting Date format like "Tue Apr 12 8:21:20 2009" I want to change the this format to "Tue Apr 12 2009 8:21:20" using regular expression Looking forward your help Thanks (6 Replies)
Discussion started by: TonySolarisAdmi
6 Replies

7. Linux

Regular expression to extract "y" from "abc/x.y.z" .... i need regular expression

Regular expression to extract "y" from "abc/x.y.z" (2 Replies)
Discussion started by: rag84dec
2 Replies

8. Programming

error: initializer expression list treated as compound expression

I had seen this error for the first time ..... error: initializer expression list treated as compound expression please help.... (12 Replies)
Discussion started by: arunchaudhary19
12 Replies

9. UNIX for Dummies Questions & Answers

OR expression

Hi all, I want to perform 'OR' for the following 3 variables. rc1=1 rc2=1 rc3=1 rc=`${rc1} \| ${rc2} \| ${rc2} ` How can it be done? Thanks, Rock (3 Replies)
Discussion started by: Rock
3 Replies

10. Shell Programming and Scripting

Regular Expression + Aritmetical Expression

Is it possible to combine a regular expression with a aritmetical expression? For example, taking a 8-numbers caracter sequece and casting each output of a grep, comparing to a constant. THX! (2 Replies)
Discussion started by: Z0mby
2 Replies
Login or Register to Ask a Question