shell文件报错syntax error near unexpected token '$'\r''
本来跑的好好得一个文件,在windows下修改了,然后移植到linux就报错了。
找了一圈以下是解决方案:
这种情况发生的原因是因为你所处理的文件换行符是dos格式的"\r\n"
可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m
需要转换成linux/unix格式的"\n"
具体转换办法就是转换换行符
可以用sed命令处理一下文件,命令如下:
sed 's/\r//' 原文件 >转换后文件


检查shell语法
[root@iZm5ed2begvgw01qrymv8yZ Data]# bash -n task_start.sh
task_start.sh: line 4: syntax error near unexpected token `$'do\r''
'ask_start.sh: line 4: `do
[root@iZm5ed2begvgw01qrymv8yZ Data]#
在我执行发现代码没有了
[root@iZm5ed2begvgw01qrymv8yZ Data]# sed 's/\r//g' task_start.sh > task_start.sh
[root@iZm5ed2begvgw01qrymv8yZ Data]#
[root@iZm5ed2begvgw01qrymv8yZ Data]#
[root@iZm5ed2begvgw01qrymv8yZ Data]#
[root@iZm5ed2begvgw01qrymv8yZ Data]#
[root@iZm5ed2begvgw01qrymv8yZ Data]# cat task_start.sh -v
[root@iZm5ed2begvgw01qrymv8yZ Data]# cat task_start.sh
原因
···
解决
[root@iZm5ed2begvgw01qrymv8yZ Data]# sed 's/\r//g' task_start.sh > task_start2.sh
[root@iZm5ed2begvgw01qrymv8yZ Data]#
[root@iZm5ed2begvgw01qrymv8yZ Data]#
[root@iZm5ed2begvgw01qrymv8yZ Data]# cat task_start2.sh
#!/usr/bin/env bash
task_url=("http://hs.oeynet.com/task.php" "http://hs.oeynet.com/task.php")
for n in `seq 10`
do
for task in ${task_url[*]}
do
curl $task >> /www/server/logs/task.log
done
sleep 6
done
[root@iZm5ed2begvgw01qrymv8yZ Data]# cat task_start2.sh -v
shell文件报错syntax error near unexpected token '$'\r''的更多相关文章
- Shell脚本报错--syntax error near unexpected token for((i=0;i<$length;i++))
现象: shell脚本使用Nodepad++进行本地编辑,在编辑后上传到linux机器进行执行时提示“syntax error near unexpected token for((i=0;i< ...
- 关于报错“syntax error near unexpected token `”和回车换行
本来是很简单一个事情,转过来是因为打字机这事比较有趣…… http://blog.csdn.net/xyp84/archive/2009/08/11/4435899.aspx 摘要一下: 回车 换行 ...
- js文件报错Syntax error on token "Invalid Regular Expression Options", no accurate correction
Syntax error on token "Invalid Regular Expression Options", no accurate correction 1.选中报错的 ...
- shell编程报错:“syntax error near unexpected token `”
今天写了个shell脚本,在自己机器上运行正常,给同事,运行报错syntax error near unexpected token `,左看右看shell脚本没有问题,没有办法google搜索,发现 ...
- -bash: /etc/profile: line 11: syntax error near unexpected token `$'{\r''报错问题解决
在Linux系统配置Java环境变量之后执行 source /etc/profile指令报:-bash: /etc/profile: line 11: syntax error near unexpe ...
- Linux下docker报错syntax error:unexpected protocol at end of statement
---恢复内容开始--- [Linux]Shell脚本“syntax error: unexpected end of file”原因及处理 :::https://blog.csdn.net/u013 ...
- Linix登录报"/etc/profile: line 11: syntax error near unexpected token `$'{\r''"
同事反馈他在一测试服务器(CentOS Linux release 7.2.1511)上修改了/etc/profile文件后,使用source命令不能生效,让我帮忙看看,结果使用SecureCRT一登 ...
- JS function document.onclick(){}报错Syntax error on token "function", delete this token
JS function document.onclick(){}报错Syntax error on token "function", delete this token func ...
- 一个参数大小写引发的uploadify报错 "Syntax error, unrecognized expression: #"
上传控件uploadify 报错"Syntax error, unrecognized expression: #" 版本为 uploadify3.2 报错原因:参数ID[hi ...
- JS function document.onclick(){}报错Syntax error on token "function", delete this token - CSDN博客
原文:JS function document.onclick(){}报错Syntax error on token "function", delete this token - ...
随机推荐
- Docker_构建_运行总结
样例: 构建镜像 build-image-fim-backend.sh echo "开始构建 fim-backend 镜像..." cp -rp ../target/fim-bac ...
- 本地 maven + scala 跑spark wordcount
pom.xml 点击查看代码 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http: ...
- Netty 学习(一):服务端启动 & 客户端启动
Netty 学习(一):服务端启动 & 客户端启动 作者: Grey 原文地址: 博客园:Netty 学习(一):服务端启动 & 客户端启动 CSDN:Netty 学习(一):服务端启 ...
- 从EDR的火热看安全产品的发展
从EDR的火热看安全产品的发展 2021年4月8日23:13 当开始写这篇博客时,外面正是护网进行得如火如荼的时候.作为一个产品经理,在吃瓜的同时,也在思考着安全产品的发展.这几年一些看得到的变化在深 ...
- 《网页设计基础——CSS常用语法》
网页设计基础--CSS常用语法 一.注释: 例如: /* 在此处书写注释 */ 二.清除浏览器默认设置: 例如: *{ /* 全局声明 */ margin: 0; padding: ...
- Dapr 集成 Open Policy Agent
大型项目中基本都包含有复杂的访问控制策略,特别是在一些多租户场景中,例如Kubernetes中就支持RBAC,ABAC等多种授权类型.Dapr 的 中间件 Open Policy Agent 将Reg ...
- Elasticsearch:如何把Elasticsearch中的数据导出为CSV格式的文件
本教程向您展示如何将数据从Elasticsearch导出到CSV文件. 想象一下,您想要在Excel中打开一些Elasticsearch中的数据,并根据这些数据创建数据透视表. 这只是一个用例,其中将 ...
- 使用docker-compose.yml安装rabbitmq集群
1.拉取镜像 集群中每个节点都需要执行 docker pull rabbitmq:3.8.3-management 2.上传docker-compose文件,设置可执行权限 相关文地址:https:/ ...
- Elasticsearch集群管理之添加、删除节点
1.问题抛出 1.1 新增节点问题 我的群集具有黄色运行状况,因为它只有一个节点,因此副本保持未分配状态,我想要添加一个节点,该怎么弄? 1.2 删除节点问题 假设集群中有5个节点,我必须在运行时删除 ...
- 获取 Docker 容器的 PID 号
# 获取容器的 CONTAINER ID docker ps -q 5354ce7e85e1 # 通过 docker top 获取 PID docker top 5354ce7e85e1 UID PI ...