同一脚本sh 脚本名 执行时报Syntax error: "(" unexpected:而./脚本名执行不报错,为什么呢 脚本内容如下: function usage(){ echo "usage:$0 url" exit } function check_url(){ -T $ ] then echo "$1 is ok" else echo "$1 is not ok " fi } function main(){ ] t…
问题:  在win下写好的shell脚本,放到Linux上测试sh -n报错如下 ORA_check.sh: line 251: syntax error: unexpected end of file 原因:dos文件传输到unix系统时,会在每行的结尾多一个^M,在vi的时候,当你用如下命令: vi dos.txt:set fileformat=unix:w就会看到这些存在于每行结尾的^M符号,这个就是产生syntax error:unexpected end of file的原因 解决方案…
本机php版本是5.3.8,Apache/2.2.21public function goto($url, $msg=NULL) {if ($msg) {$this->jsAlert($msg);}$this->js('document.location="' . $url . '";');$this->output(true);exit;} 解决办法是将phpstudy版本号php-5.3.29改为php-5.2.17…
有时我们在linux下执行一个sh文件,会报错“SYNTAX ERROR:UNEXPECTED END OF FILE”,这个现象主要是工作的系统环境改变造成的. 若最初脚本中是在windows下,使用sublime编辑器写.将shell脚本传至linux中:使用命令bash -x SCRIPT检查语法总是出一个错误 syntax error:unexpected end of file. 原因:dos文件传输到unix系统时,会在每行的结尾多一个^M,在vim的时候,当你用如下命令查看:cat…
0.前言 通常我们在编辑 Linux 服务器上的文件时,直接在 Linux 环境比较麻烦(当然熟练使用 VIM 的程序员除外哈哈),有时我们会使用 Windows 将文件编辑好再上传到服务器端,我用的是 Sublime text . 1.问题描述与记录 编辑完脚本上传到服务器运行时,会出现语法错误,以下面的一小段脚本为例 #!/bin/bash echo "updatedb..." sudo updatedb BASE_PATH=$(dirname $(locate $0)) echo…
今天执行脚本的时候遇到错误,如下图: root@ApFree:/usr/sbin# ./conntrack_num_graph.sh ./conntrack_num_graph.sh: line : syntax error: unexpected "then" (expecting "}") root@ApFree:/usr/sbin# 我就纳闷了,这个脚本几天前是能正常执行的,今天执行怎么会出错,why? cat脚本一看如下: #!/bin/sh SITENAM…
例如shell脚本在centos系统中能正常执行,而在ubuntu系统中执行会出现类似Syntax error: "(" unexpected的错误,一般这种是因为sh与bash有些地方不兼容,解决方式: 1.执行bash xx.sh 2.执行chmod +x xx.sh对shell脚本赋予执行权限,之后执行./xx.sh…
今天用make 编译 蹦到 bash ‘/bin/sh: Syntax error: “(” unexpected 和 /bin/sh: [[: not found 这种莫名奇妙的错误 原因是是linux将sh指向了dash而不是bash 直接改配置 dpkg-reconfigure dash 选默认不是dash…
问题: 在MAC上写了一段shell脚本,放到Ubuntu上运行总是报下面这个错误,单步调试都是对的,就是直接运行会报错. bixiaopeng@ubuntu:~/package$ sh package.sh package.sh: 8: package.sh: Syntax error: "(" unexpected 原因: 兼容性问题,因为linux将sh默认指向了dash,而不是bash 解决: #在root下面执行 dpkg-reconfigure dash,选择no bixi…
有时执行脚本时会报错: [root@host1 shell]# sh -x test.sh + $'\r' : command not found test.: syntax error: unexpected end of file 原因可能是: 文本编辑是在windows下通过记事本或其它编辑器编写的这个文件,运行 在cygwin模拟LINUX软件环境下. 解决思路: DOS下文件和Linux下文件格式差异问题导致的. DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0…