如何解决syntax error near unexpected token `fi'

错误截图:

错误原因:字符格式问题。

解决方法:不要使用notePad++来复制wiindows下的脚本代码到linux下,可以使用记事本,相似的,只要是这种代码发现不了问题的,大概就是文件有问题了。

如何解决syntax error near unexpected token `fi'

原文地址:https://www.cnblogs.com/darkclouds/p/11563461.html

时间: 2024-10-02 22:02:37

如何解决syntax error near unexpected token `fi'的相关文章

linux的shell脚本报错“syntax error near unexpected token `”的解决

今天写了一个shell脚本,老报错检查了一下基本的语法并没有发现错误.后来经过百度解决掉了,现总结如下. 错误现象:执行shell脚本,老报错"syntax error near unexpected token `" 解决办法:vim -b example.sh打开文件,发现文件每一行的末尾多了一个^M,这个问题在使用vim example.sh查看是看不见的,只能通过报错来判断使用vim -b才能发现问题. 因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下

syntax error near unexpected token(关于跨平台非法字符(^M)的解决方法)

别人写了一个shell拿过来在linux试用,执行报错如下: 仔细查找了还是没找到错误,一直都是报syntax error near unexpected token `{ 网上搜索了一下,找到了端倪,现在简单整理如下: 现在可以判断给我脚本的这位仁兄很有可能是在windows平台上编写的.使用vim -b命令查看文件内容如下: 每一行多了一个^M有木有? 那么接下来就要搞清楚这个^M是什么东东? long long long ago .....  老式的电传打字机使用两个字符来另起新行.一个字

shell出现syntax error near unexpected token `<' 解决方法

最新在看一个shell资料时,按照教材,却出现如下错误,不能运行 如下,简单的脚本: #!/bin/bash cat |while read line do echo $line done < <(data.txt|awk '{print $0}') 运行时,却出现如下错误 [[email protected] shellcookbook]# sh while_test.sh while_test.sh: line 5: syntax error near unexpected token `

Linux中syntax error near unexpected token 错误提示解决方法

Linux中syntax error near unexpected token ... 错误提示有一般有两种原因: 1)window和Linux下换行符不一致导致 window下的换行和Linux下的换行不同,如果将window下编写的代码文件上传到Linux下,容易出现该错误提示.可用 vi -b 文件名 或者cat -v 文件名命令查看,如果是游云换行符引起的,则每行后面有^M,这时只要将每个^M去掉即可. 2)Linux指令之间没有空格隔开

运行shell脚本提示“syntax error near unexpected token for((i=0;i&lt;$length;i++))”

sh脚本如下: #!/usr/bin/env bash county="3 4 5 6 7 8 9 10 11 12 16 29 39 44 53 62 72 84 97 115 128 151 168 187 199 218 230 10079 10239 32478" array=($county) length=${#array[@]} for((i=0;i<$length;i++)) do $HIVE_HOME/bin/hive -e "select * fro

关于报错“syntax error near unexpected token `”和回车换行

本来是很简单一个事情,转过来是因为打字机这事比较有趣-- http://blog.csdn.net/xyp84/archive/2009/08/11/4435899.aspx 摘要一下: 回车 换行 0D 0A <CR> <LF> Carriage Return Line Feed "/r" "/n" win32 0D 0D 0A unix 0D 0A ============淡定的分割线=============== 今天写了个shell脚

使用cygwin出现syntax error near unexpected token&#39;$&#39;do\r

直接从csdn复制粘贴的.sh代码,放到cygwin下运行sh的时候出错syntax error near unexpected token'$'do\r 解决方法: 1.下载notepad++ 2.用notepad plus打开这个.sh文件,右击使用这个打开,视图->显示符号->显示所有符号 发现后面都是windows下的空格CRLF, 3.我们改为linux下的..编辑->文档格式转换->转换为UNIX格式:保存 4.在cycwin下运行这个.sh就ok了 使用cygwin出

GitExtensions GitCredentialWinStore syntax error near unexpected token `(&#39;

之前不知道配置了什么,在Git Bash页面进行操作时报如下的错误: $ git fetch origin \"D:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-wins tore.exe\" get: -c: line 0: syntax error near unexpected token `(' \"D:/Program Files (x86)/GitExtensions

linux--shell错误:syntax error near unexpected token ‘(&#39;

这几天编写了几个简单的shell程序,然后都出现了syntax error near unexpected token '(' 的错误,然后实在是检查不出错误:后面百度了才找到的原因: 之前错误的程序片段如下: usr=$ (whoami) dr=$ (pwd) 提示的错误如下: syntax error near unexpected token '(' 后面才知道原来是$ 与左括号之间多了一个空格,改正以后程序就正常运行了. 其实上面usr=$(whoami)等价于 usr=`whoami`