[Solved] 0403-057 Syntax error for if statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [Solved] 0403-057 Syntax error for if statement
# 1  
Old 08-30-2013
[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

Code:
tstmb.sh[26]: 1.5321e+08: 0403-057 Syntax error

Below is my code snippet.

Code:
#!/bin/ksh
set -x
TODAY=$(date +%y%m%d)

for file in $(ls -rt  *.log | tail -1)
do

V=$file
V1=${V#*_}
V2=${V1%%_*}

if [ "$V2" -ne "$TODAY" ];
then

echo "abc"

elif <condition>
then
echo "xyz"
else
echo "123"

fi
done

Code:
TODAY=130830
+ V=ABC_130830_001.log
+ V1=130830_000004.log
+ V2=130830
+ [ 130830 != 130830 ]
test.sh[12]: 1.5321e+08: 0403-057 Syntax error

Please let me know where I am doing wrong..Thanks,
# 2  
Old 08-30-2013
Quote:
an if statement comparing two numerical values
"$V2" the way its written is a string and quite sure $TODAY also...
# 3  
Old 08-30-2013
What I meant was comparing two numbers:

ie., 130830 != 130830

This does not seem to work and so does using '-ne'
any idea why Smilie
# 4  
Old 08-30-2013
because -ne is for numeric and what your declared are chars...
Where did you declare as numeric?
# 5  
Old 08-30-2013
Your test:
Code:
if [ "$V2" -ne "$TODAY" ];

is comparing strings (because your variables ar in quotes) using a numeric (-eq) operator.

It should be:
Code:
if [ $V2 -ne $TODAY ];

# 6  
Old 08-30-2013
You are not showing us the correct output from your script... or not showing the correct script:
Code:
+ [ 130830 != 130830 ]
test.sh[12]: 1.5321e+08: 0403-057 Syntax error

Does not match...!!!
What have you hidden?
# 7  
Old 08-30-2013
Quote:
Originally Posted by port43
Your test:
Code:
if [ "$V2" -ne "$TODAY" ];

is comparing strings (because your variables ar in quotes) using a numeric (-eq) operator.

It should be:
Code:
if [ $V2 -ne $TODAY ];

That makes no difference, really. A number is a number by virtue of containing numerals whether it is quoted, or not. And if the two numbers are equal as strings it doesn't matter if you use != or -ne.

Last edited by Scott; 08-30-2013 at 12:57 PM.. Reason: Reword
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

0403-057 Syntax error at line 399 : `"' is not matched

Hi Everyone, I am getting strange behavior, same script runs fine without any error in one AIX machine, whereas on another it is throwing this error "0403-057 Syntax error at line 399 : `"' is not matched", I also ran the script in debug mode. This is the output, still doesn't say anything.... (2 Replies)
Discussion started by: sid1987
2 Replies

2. Shell Programming and Scripting

0403-057 Syntax error at line 17 : `(' is not expected.

Hi, While executing my code i am getting below Error: ./check_disk1: 0403-057 Syntax error at line 55 : `(' is not expected. My code is : #!/bin/ksh PROGNAME=`basename $0` STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 OS=$(uname) AWK="/usr/bin/awk"... (6 Replies)
Discussion started by: abodage
6 Replies

3. AIX

0403-057 Syntax error at line 17 : `(' is not expected.

Hi, I am new to shell scripting.i am trying to mail after my backup completed. Here is my shell script: if ; then egrep (ERROR|error|Error|RMAN-) ${/backup/RMANBKUP/spool/shelltest.log} > /dev/null if ; then RESULT_MSG=WARNING: Errors occurred during the ${ORACLE_SID} Rman... (3 Replies)
Discussion started by: faruqms
3 Replies

4. Shell Programming and Scripting

0403-057 Syntax error at line : `}' is not expected.

i dont know where m i mistaking.. please help me out with this issue :( thanks in advance:rolleyes: one_main() { a=100 while ; do clear echo "##############################################" echo ":: CURRENTLY YOU ARE IN RC AND OC MARKING ::" echo... (1 Reply)
Discussion started by: Puneet sinha
1 Replies

5. Shell Programming and Scripting

0403-057 Syntax error at line 169 : `"' is not matched.

Hi, I am getting this error in my attached shell script, kindly help as soon as possible: Thanks, Andre (2 Replies)
Discussion started by: damoon
2 Replies

6. Shell Programming and Scripting

0403-057 Syntax error

I am getting the error : rocfm/wls_subload/in/processed_files/tel_input_additional_checked_all_mandatory.txt: 0403-057 Syntax error at line 1 : `|' is not expected. >>>>ALL MANDATORY FIELDS CHECKING IS SUCCESSFUL count is 0 ... (3 Replies)
Discussion started by: princetd001
3 Replies

7. Shell Programming and Scripting

[Solved] 0403-057 Syntax error `<' is not matched

curr_time=`date +%Y%m%d%H%M` curr_date=`date +%Y%m%d` zero=0 script_path="/home/wccuser1/wcc/Scripts/bulk_file_ftp" file_dir="/home/wccuser1/wcc/Bulk_Files" todays_file_count=`ls -ltr | grep $curr_date | awk '{print $9}' | wc -l` todays_file=`ls -ltr | grep $curr_date | awk '{print $9}'` if... (5 Replies)
Discussion started by: gagandeep
5 Replies

8. Shell Programming and Scripting

ksh: 0403-057 Syntax error: `done' is not expected.

Hi I am getting error 'ksh: 0403-057 Syntax error: `done' is not expected.' when running below script any one can provide inputs on this. ------------------------ if then echo "Report Name |Modification Date|Report File Size|Owner" >SOX_`date +'%Y%m%d'` while read line do... (2 Replies)
Discussion started by: karnatis
2 Replies

9. Shell Programming and Scripting

0403-057 Syntax error at line 52 : `)' is not expected.

Can someone please tell me wht is wrong with the following peice of code? I keep getting the following error - 0403-057 Syntax error at line 52 : `)' is not expected. case "${option_count}" in 1) java -Xms256m -Xmx1536m "${APPLNAME}" "${ACTION_TYPE}" > "${LOGFILE}" 2>... (2 Replies)
Discussion started by: Veenak15
2 Replies

10. UNIX for Dummies Questions & Answers

0403-057 Syntax error at line 70. pls help

Hi All, I got a script from one of the unix forums for reporting on filesystem usage and wanted to use it but it keeps giving me the following error. 0403-057 Syntax error at line 70 The script is shown below. Pls help as I am new to UNIX. # set -x # D I S K S P A C E . S H # #... (2 Replies)
Discussion started by: OMONI
2 Replies
Login or Register to Ask a Question