syntax error on if statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting syntax error on if statement
# 1  
Old 05-31-2009
syntax error on if statement

Hi,
Can you please help me with this one: I write an "if" statement, something like this:
if[size -ge 700]
then
echo "big file"
else
echo "normal file"

and I get an error: `'then is not expected

Thanks in advance
# 2  
Old 05-31-2009
syntax is wrong..
Code:
if [ $size -ge "700" ] ; then
.
.

# 3  
Old 05-31-2009
Quote:
Originally Posted by vidyadhar85
syntax is wrong..
Code:
if [ $size -ge "700" ] ; then
.
.

I think you need to drop the quote marks around the 700 or else it is a string rather than an integer?
# 4  
Old 05-31-2009
Quote:
Originally Posted by TonyFullerMalv
I think you need to drop the quote marks around the 700 or else it is a string rather than an integer?
it won't make any difference Smilie
Code:
 
home> size=700
home> if [ $size -eq "700" ] ; then
> echo Y
> fi
Y
home> if [ $size -eq 700 ] ; then
> echo Y
> fi
Y

# 5  
Old 06-01-2009
Just a short note besides what has been mentioned in the other posts:

- "then" can be written in the next line, like it is in your code
- add "fi" at the very end to complete the syntax

tyler_durden
# 6  
Old 06-01-2009
In UNIX shell, white space (one or more space/tab) is important to serve as separator. In the "if" command, the syntax is:
"if" <space> <expression>
then
<command>
<command>
"fi"

The <expression> in your case is:
"[" <space> "$size" <space> "-ge" <space> "700" <space> "]"

Since you are comparing numeric value, you need to use:
-lt, less than
-le, less than or equal to
-gt, greater than
-ge, greater than or equal to
-ne, not equal to

If you are comparing string,
=, equal
!=, not equal to


Since semi-colon (Smilie enables mutli commands in a single line,
Code:
if [ $size -ge 700 ]; then

is in fact equivalent to
Code:
if [ $size -ge 700 ]
then

# 7  
Old 06-01-2009
apenkov

Smilie thanks, guys...now it is working!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Syntax for if statement

I'm new to unix and the command line and am trying to learn different commands. I have a file (teledir.txt) that contains a name and phone number for 3 different people. I am writing a script that is to take two positional parameters and I typed out how it should behave: if <name and number... (1 Reply)
Discussion started by: Eric7giants
1 Replies

2. Shell Programming and Scripting

Help with if statement syntax in shell script

I want to make the file test condition a variable ($Prmshn in code below). My goal is to use something like the first three unsuccessful if statetments since the 'if #!/bin/ksh test_input() { Prmshn=${1} InFLNm=${2} ifReq="-$Prmshn $InFLNm" #the following three if statments fail: #if ] ;... (10 Replies)
Discussion started by: ms63707
10 Replies

3. Shell Programming and Scripting

[Solved] 0403-057 Syntax error for if statement

I am getting the following error when I am running a script in ksh when trying to execute an if statement comparing two numerical values tstmb.sh: 1.5321e+08: 0403-057 Syntax error Below is my code snippet. #!/bin/ksh set -x TODAY=$(date +%y%m%d) for file in $(ls -rt *.log | tail... (11 Replies)
Discussion started by: kiran1112
11 Replies

4. Shell Programming and Scripting

If statement Syntax error

Hi Can you please tell me what is wrong with this line: if && ]; then basically i want to check if x = 12 and F (Filename) end with 'g'. But it is throwing syntax error. (7 Replies)
Discussion started by: rtagarra
7 Replies

5. Shell Programming and Scripting

Help with if statement syntax

Hi, Is there a way to compare the value in if condition with a list of values. eg . if ] then echo "it's a mammal" else echo "its not" fi Thanks! (8 Replies)
Discussion started by: neil.k
8 Replies

6. Shell Programming and Scripting

complex if statement syntax without using 'if ..' keyword in ksh.

It saves me lot of typing and space/lines when I do not use full 'if' keyword and construct, instead use .. && <statement> || <statement> that perfectly replaces.. if ; then <statement> else <statement> fi Can I use following syntax when I want to add multiple statements under 'if'... (4 Replies)
Discussion started by: kchinnam
4 Replies

7. Shell Programming and Scripting

Syntax error in script with if statement

I'm working on a function in a shell script I'm writing that will eventually take in and print out a list of vendor names and aliases (for my work) Here's the function in question: addvendorandalias () { echo echo -n 'Would you like to create a new vendor list (y or n)? ' read answer... (3 Replies)
Discussion started by: Straitsfan
3 Replies

8. UNIX for Dummies Questions & Answers

if statement code syntax

Hi, can someone please tell me what is wrong with this code? I just want it to check if the file size is greater than 2000kb. if Thanks! ---------- Post updated at 09:23 PM ---------- Previous update was at 09:21 PM ---------- I should probably post the full code: #!/bin/sh... (9 Replies)
Discussion started by: Bengel
9 Replies

9. Shell Programming and Scripting

Confirming Syntax - IF statement.

Hi All, Has been a while since I was last on, so I hope everyone has been doing fine. ;) Would like to know if the below IF statement syntax is correct for a ksh environment. It's been pushed into live as someone had deleted the development copy(!); not withstanding that, the statement now... (3 Replies)
Discussion started by: Cameron
3 Replies

10. UNIX for Dummies Questions & Answers

awk Shell Script error : "Syntax Error : `Split' unexpected

hi there i write one awk script file in shell programing the code is related to dd/mm/yy to month, day year format but i get an error please can anybody help me out in this problem ?????? i give my code here including error awk ` # date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies
Login or Register to Ask a Question