Syntax error: 'fi' unexpected


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Syntax error: 'fi' unexpected
# 1  
Old 09-16-2014
Hammer & Screwdriver Syntax error: 'fi' unexpected

Code:
unzip file.zip
if [[ $? == 0 ]] ; then
echo "Success"
else
echo "Some failure."
fi ;

I tried many time to detect the unzip error, but it keep show the syntax error wherever how I change the syntac. Hope someone can help me fix the issue, thanks.



Moderator's Comments:
Mod Comment Please use code tags next time for your code and data. Thanks

Last edited by vbe; 09-16-2014 at 09:57 AM..
# 2  
Old 09-16-2014
Which shell you are working?

---------- Post updated at 03:09 AM ---------- Previous update was at 03:00 AM ----------
Code:
If this is bash, your code should work fine. It worked for me:
root@host tmp]# ls -lrt
total 30
-rw-r--r-- 1 root  root    200 Sep 16 07:01 test.zip
-rwxrwxrwx 1 root  root     98 Sep 16 07:04 a.sh
root@host tmp]#
root@host tmp]#
root@host tmp]# cat a.sh
#!/bin/bash

unzip test.zip
if [[ $? == 0 ]] ; then
echo "Success"
else
echo "Some failure."
fi ;
root@host tmp]#
root@host tmp]#
root@host tmp]# ./a.sh
Archive:  test.zip
  inflating: test
Success
root@host tmp]#
root@host tmp]# ls -lrt
total 34
-rw-r--r-- 1 root  root    120 Sep 16 06:11 test
-rw-r--r-- 1 root  root    200 Sep 16 07:01 test.zip
-rwxrwxrwx 1 root  root     98 Sep 16 07:04 a.sh


Moderator's Comments:
Mod Comment Please use code tags next time for your code and data. Thanks

Last edited by vbe; 09-16-2014 at 09:58 AM..
# 3  
Old 09-17-2014
hi, I worked in bash script in android, but it keep said this syntax error when process it.
# 4  
Old 09-17-2014
I suspect the script file itself is in DOS format. Try converting to UNIX format first:
Code:
tr -d '\r' < scriptfile > newscriptfile


---
After that, you will probably also need to change
Code:
if [[ $? == 0 ]] ; then

to
Code:
if [ $? = 0 ] ; then

or
Code:
if [ $? -eq 0 ] ; then


Last edited by Scrutinizer; 09-17-2014 at 01:23 AM..
# 5  
Old 09-17-2014
hi, but after I tried, I still meet the issue.
after I add on this at my script.

Code:
#!/bin/bash

unzip test.zip
if [[ $? == 0 ]] ; then
echo "Success"
else
echo "Some failure."
fi ;

---------- Post updated at 05:39 PM ---------- Previous update was at 05:37 PM ----------

hi Scrutinizer, it is mean I need write a code to convert my code to UNIX everytime?

Last edited by Don Cragun; 09-17-2014 at 07:19 AM.. Reason: Add CODE tags.
# 6  
Old 09-17-2014
It means that when you give a script to bash to execute; that script should always have <newline> line terminators; not DOS/Windows <carriage-return><newline> line terminators.

If you are downloading a freshly corrupted copy of your script every time before you execute it; you need to strip out the <carriage-return> characters every time you execute it.

Once you have removed the <carriage-return> characters; you can execute it as many times as you want until you corrupt it again.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Syntax error: `]' unexpected

I am getting this error Syntax error: `]' unexpected. Did I do something wrong with elif? Does ksh not like double brackets? if ]; then #echo hi source ~/.bashrc; elif ]; then #echo hi source ~/.kshrc; fi (5 Replies)
Discussion started by: cokedude
5 Replies

2. UNIX for Beginners Questions & Answers

Syntax error near unexpected token

Dears, While executing the below script im getting the error at line 30. Please let me know what changes to be done to fix this. test.sh: line 30: syntax error near unexpected token `done' test.sh: line 30: ` done ' #!/bin/sh # Rev. PA1 # author: eillops # date: 26-04-2018 # #... (1 Reply)
Discussion started by: Kamesh G
1 Replies

3. Shell Programming and Scripting

Syntax error `(' unexpected

I have written this in my script but while running i am getting syntax error `(' unexpected. unload to "$BACKUP_DIR/n_fac_fid-$clliname" select * from n_fac_fid where fac_accesskey in (select fac_accesskey From n_fac_ap_fid where ap_clli="$clliname"); Any help appreciated. (3 Replies)
Discussion started by: suryanmi
3 Replies

4. Shell Programming and Scripting

Syntax error near unexpected token `else'

Hi, I am trying to read the session log through script. But it keeps showing me some error near. I have tried everything. Even tried converting the script using sed command to remove the hidden characters(\r).But nothing seems to be working.Below is the script : #!/bin/bash cd... (6 Replies)
Discussion started by: Aryan12345
6 Replies

5. Shell Programming and Scripting

Syntax error near unexpected token `}' please help

I'm going mad not being able to get this to work. im assuming its only a simple mistake but its driving me bonkers trying to find it. Please if you can help me it would save me pulling my hair out!! Thanks #!/bin/bash -xv # #Config name="TEST Server" + name='TEST Server'... (6 Replies)
Discussion started by: Fisheh
6 Replies

6. Shell Programming and Scripting

syntax error: `$' unexpected

Hi all, Am very new to Unix and am currently Involved in Migrating some Shell Scripts from AIX 4 to Solaris 10. While using teh for loop am getting the below error: $ echo $SHELL /usr/bin/ksh $ for file in $(ls *SEBE*) syntax error: `$' unexpected while the same works without issue on... (4 Replies)
Discussion started by: paragkhanore
4 Replies

7. UNIX for Advanced & Expert Users

syntax error near unexpected token '{

Hi, I am running the following script through cygwin and getting below mentioned error. ******************************************* #!/bin/sh # constants WORK_DIR="deploy" INFOFILE="deploy.info" INTROFILE="Intro.sh" CMGMT_PKG="com.kintana.cmgmt.deploy" DEPLOY_PREFIX="mitg" ... (2 Replies)
Discussion started by: MandyR
2 Replies

8. Shell Programming and Scripting

Syntax error near unexpected token `('

Guys , This is an output of my script errored out for "Syntax error near unexpected token `(' " Can someone tell me whats wrong with my script. Below is my original script pasted. #!/bin/bash Script Creation Date 01/21/2010 Author baraghun ... (7 Replies)
Discussion started by: raghunsi
7 Replies

9. Shell Programming and Scripting

unexpected syntax error

Hi, i am getting following syntax error ...kingly advice why is it coming ?? #!/bin/bash find . -name "common.log" if ; then echo "1" fi Himnashu@home /bin $ ./a.sh ./a.sh: line 7: syntax error near unexpected token `fi' ./a.sh: line 7: `fi' (9 Replies)
Discussion started by: himvat
9 Replies

10. Shell Programming and Scripting

sh: syntax error: `...' unexpected???

Hello all, I want to create a script that polls every hour a directory for the existence of a file. The file I look for is a `token` dropped by an external process at the completion of a successful FTP process. I wrote this script `checkfile.ksh`: #!/usr/bin/ksh if ] then mailx... (5 Replies)
Discussion started by: alan
5 Replies
Login or Register to Ask a Question