shell脚本错误:syntax error near unexpected token '$'\r''

  linux下运行shell脚本出现错误:syntax error near unexpected token ‘$‘\r‘‘

  这是因为文件在编写时的回车是DOS的"\r\n",而正确的应该是"\n",所以需要将文件内所有的"\r\n"替换为"\n",如将1.sh修改另存为2.sh,有以下简单的方法:

  sed ‘s/\r//‘ 1.sh > 2.sh

shell脚本错误:syntax error near unexpected token '$'\r''

时间: 2024-10-13 12:22:33

shell脚本错误:syntax error near unexpected token '$'\r''的相关文章

shell脚本syntax error near unexpected token `done'

1.修改文件类型 执行: vi finddir.sh 输入 :set ff 如果fileformat=dos ,修改为unix: :set ff=unix 执行保存命令: :wq 2.删除隐藏字符 用命令vi -b 打开你的SHELL脚本文件,你会.发现每行脚本最后多了个^M 因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的"^M"符号,表示的是符. 在Vim中利用替换功能就可以将"^M"

linux--shell错误:syntax error near unexpected token ‘('

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

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 `

-bash:syntax error near unexpected token &#39;(&#39;

在Xshell5中编写int main(int argc,char** argv)时, 出现-bash:syntax error near unexpected token '('  : 可是我是按照Linux语句编写的,其他代码没有出错: 检查发现, Xshell5对应的Linux版本是Linux5,在Linux5中,括号需要加上双引号才能用. 修改后: int main"(int argc,char** argv)" -bash:syntax error near unexpect

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

shell脚本启动语法错误syntax error near unexpected token &#39;{

执行shell脚本时失败,报语法错误,但脚本内容检查正常 原因为该脚本是在非Linux系统下编辑之后放到系统执行的,文件模式类型非Linux系统匹配的模式类型. 查看文件的模式类型 显示文件的模式类型为 dos 修改文件的模式类型为Linux匹配的 unix 保存之后即可正常启动脚本. shell脚本启动语法错误syntax error near unexpected token '{ 原文地址:https://www.cnblogs.com/zjfjava/p/10708370.html

shell脚本报错换行符syntax error near unexpected token \r

有时候一些windows下处理不当的sh脚本文件放到linux下执行报错, 提示存在换行符,原因主要就是window下EOL行结束是"\r\n"两个字符, 而linux,unix下是"\n"单字符. 以下vim命令做确认 :e ++ff=unix %    #显示回车符(\r), 具体的在vim环境中会显示为 "^M"符号 :set list    #显示换行符(\n), 具体的再vim环境下回显示为 "$" 符号. 此命令同

运行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

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下