同一脚本sh 脚本名 报Syntax error: "(" unexpected而./脚本名不报错,求解!!

同一脚本sh 脚本名 执行时报Syntax error: "(" unexpected;而./脚本名执行不报错,为什么呢

脚本内容如下:

function usage(){
  echo "usage:$0 url"
  exit 1
}

function check_url(){
  wget --spider -q -o /dev/null --tries=1 -T 5 $1
  if [ $? -eq 0 ]
    then
      echo "$1 is ok"
  else
    echo "$1 is not ok "
  fi
}

function main(){
  if [ $# -ne 1 ]
    then
      usage
  fi
  check_url $1
}

main $*

[email protected]:~/shells$ ll 8_5_1.sh
-rw-r--r-- 1 yao yao 302 4月 27 11:13 8_5_1.sh

[email protected]:~/shells$ sh 8_5_1.sh
8_5_1.sh: 1: 8_5_1.sh: Syntax error: "(" unexpected

把脚本权限修改为755后,脚本正常执行

[email protected]:~/shells$ chmod 755 8_5_1.sh
[email protected]:~/shells$ ll 8_5_1.sh
-rwxr-xr-x 1 yao yao 302 4月 27 11:13 8_5_1.sh*
[email protected]:~/shells$ ./8_5_1.sh
usage:./8_5_1.sh url

原文地址:https://www.cnblogs.com/yaowensheng/p/10778181.html

时间: 2024-10-08 03:53:55

同一脚本sh 脚本名 报Syntax error: "(" unexpected而./脚本名不报错,求解!!的相关文章

php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?

本机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

执行shell脚本遇到错误syntax error: unexpected "then" (expecting "}")

今天执行脚本的时候遇到错误,如下图: root@ApFree:/usr/sbin# ./conntrack_num_graph.sh ./conntrack_num_graph.sh: line 9: syntax error: unexpected "then" (expecting "}") root@ApFree:/usr/sbin# 我就纳闷了,这个脚本几天前是能正常执行的,今天执行怎么会出错,why? cat脚本一看如下: #!/bin/sh SITENA

shell 报错:syntax error: unexpected end of file

有时执行脚本时会报错: [[email protected] shell]# sh -x test.sh + $'\r' : command not found test.sh: line 37: syntax error: unexpected end of file 原因可能是: 文本编辑是在windows下通过记事本或其它编辑器编写的这个文件,运行 在cygwin模拟LINUX软件环境下. 解决思路: DOS下文件和Linux下文件格式差异问题导致的. DOS下的文本文件是以\r\n作为断

【问题解决】syntax error: unexpected end of file或-bash: ./full_build.sh: /bin/bash^M: bad interpreter: No

在阅读的过程中有任何问题,欢迎一起交流 邮箱:[email protected]    QQ:1494713801 执行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 或提醒  syntax error: unexpected end of file 出现上面错误的原因之一是脚本文件是DOS格式的, 即每一行的行尾以\r\n来标

ubuntu.sh: 113: ubuntu.sh: Syntax error: "(" unexpected

在ubuntu电脑上安装lnmp环境,执行下面命令时 sudo sh ubuntu.sh 报错误:ubuntu.sh: 113: ubuntu.sh: Syntax error: "(" unexpected 原因: 兼容性问题,因为linux将sh默认指向了dash,而不是bash 解决办法:sudo dpkg-reconfigure dash 在弹出的窗口选择no 然后再重新执行 sudo sh ubuntu.sh就可以了 千里之行,始于足下.改变将来,从现在开始.改变现在,就是改

laravel --报错:Parse error: syntax error, unexpected '}', expecting ';'

报错如下: 原因:少了一个 ' ; ' laravel --报错:Parse error: syntax error, unexpected '}', expecting ';' 原文地址:https://www.cnblogs.com/daikiti/p/8970600.html

laravel --报错:Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW)

报错如下: 原因:( ) { } [ ] 不对称,或者用错了. laravel --报错:Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) 原文地址:https://www.cnblogs.com/daikiti/p/8970576.html

syntax error:unexpected end of file

将window上编辑的xxy1.sh脚本上传到linux上,并执行的时候提示 xxy1.sh: line 17: syntax error: unexpected end of file 但是通过cat xxy1.sh查看脚本的时候,未发现语法异常,找了度娘后知道 原来是window和linux的文件格式不同导致,解决办法就是 (1)vi xxy1.sh (2)按下键盘Esc键,按下键盘":"冒号键 (3)输入:set fileformat=unix,后回车 (4)重复步骤2,输入:w

PHP提示:Parse error: syntax error, unexpected T_ECHO 解决方案

对于PHP开发新手来说,经常因为代码问题出现各种报错,比如: 提示:Parse error: syntax error, unexpected T_ECHO....在某某文件, 我的经验是:出现unexpected T_ECHO这个,一般都是中文符号 或者是缺标点符号! 通过测试输出方式找到错误区域,好好检查看看是不是标点符号为中文状态,或者是少了标点...