syntax error near unexpected token
2019独角兽企业重金招聘Python工程师标准>>>
shell脚本,在自己机器上运行正常,给同事,运行报错syntax error near unexpected token `,左看右看shell脚本没有问题,没有办法google搜索,发现一位仁兄讲的挺好,内容如下:
用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M。
那么接下来就要搞清楚这个^M是什么东东?
long long ago..... 老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车,<CR>,ASCII码为0D),另一个字符把纸上移一行 (称为换行, <LF>,ASCII码为0A)。当计算机问世以后,存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示行尾。UNIX 开发者决定他们可以用 一个字符来表示行尾,Linux沿袭Unix,也是<LF>。Apple 开发者规定了用<CR>。开发 MS-DOS以及Windows 的那些家伙则决定沿用老式的<CR><LF>。
因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的“^M”符号,表示的是符。
在Vim中解决这个问题,很简单,在Vim中利用替换功能就可以将“^M”都干掉,键入如下替换命令行:
1)vi -b setup.sh
2)在命令编辑行<就是: 按ESC键 然后shift+:冒号>输入:%s/^M//g
注意:上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”键生成的。
这样替换掉以后,保存就可以执行了。当然还有其他的替换方式比如:
a.一些linux版本有 dos2unix 程序,可以用来祛除^M。
b.cat filename1 | tr -d "/r" > newfile 去掉^M生成一个新文件,还有sed命令等,凡是可以替换的命令都是可以用来新生成一个文件的。
P:其实上面方法不太好用,这里有更简单的方法,不要怪我说的太晚,觉得这样大家能多了解点。。哈哈
http://jingyan.baidu.com/article/9f63fb91d014b8c8410f0e7a.html
转载于:https://my.oschina.net/u/264186/blog/638081
syntax error near unexpected token相关推荐
- -bash:syntax error near unexpected token '('
在Xshell5中编写int main(int argc,char** argv)时, 出现-bash:syntax error near unexpected token '(' : 可是我是按照 ...
- linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法
运行shell脚本时出现:syntax error near unexpected token `$'\r"的错误,一般是格式的问题,比如直接从txt文档拷贝过来的内容: 解决方法:sed ...
- 成功解决.sh: line 6: syntax error near unexpected token `do
成功解决.sh: line 6: syntax error near unexpected token `do 目录 解决问题 解决思路 解决方法 T1.修改格式系统间不兼容的格式
- 成功解决bash syntax error near unexpected token from
成功解决bash syntax error near unexpected token from 目录 解决问题 解决思路 解决方法 解决问题 -bash: syntax error near une ...
- shell if else 用法 syntax error near unexpected token `then'
1. 错误 #!/bin/bash platform=$1 if[ "$platform" = "ibmaix64" ] then echo &q ...
- shell编程报错:“syntax error near unexpected token `”
今天写了个shell脚本,在自己机器上运行正常,给同事,运行报错syntax error near unexpected token `,左看右看shell脚本没有问题,没有办法google搜索,发现 ...
- svn之bash: syntax error near unexpected token `(‘ 解决办法
1.问题 svn update *****/网易(杭州)网络有限公司SSL-20170623001 出现这个错误 bash: syntax error near unexpected token `( ...
- 记一次坑爹报错之旅 -bash: /etc/profile: line 11: syntax error near unexpected token
昨晚修改了环境变量后,进行重置服务时 source /etc/profile 报错 [root@localhost etc]# source /etc/profile -bash: /etc/prof ...
- rm删除报错 :-bash: syntax error near unexpected token `('
删除报错 :-bash: syntax error near unexpected token `(' root@ubuntu:~# rm -rf zabbix-release_4.2-1+xenia ...
最新文章
- Agent Job相关的系统表
- git初使用(本地创建后第一次提交到git)
- (六)构建优化(揭开webpack性能优化的内幕)
- python版本回退_Python爬虫之BeautifulSoup解析之路
- Go_笔试题记录-不熟悉的
- 解决Jenkins上git出现的“ERROR: Error fetching remote repo ‘origin‘”问题
- mysql 物化视图_Mysql物化视图应用
- 片假名翻译软件测试,怎么写软件测试用例
- ENSP实验五——三层交换机+二层交换机
- wdr通刷固件_西数硬盘维修工具WDR5.3简体中文版下载及图文教程
- Win10 利用快捷键,快速新建TXT文档
- ubuntu磁盘格式化
- 人民币的符号的正确表示法?一杠?两杠?¥还是¥呢?
- CentOS7安装杀毒软件ClamAV图形界面ClamTk
- Axure RP9制作汉堡菜单
- wps怎么下载仿宋gb2312_仿宋gb2312字体
- ubuntu 误使用dpkg --clear-selections修复
- Ubuntu系统下安装Sailfish的SDK
- Spring Boot教程(十四)快速入门
- JS 控制文本框只能输入中文、英文、数字与指定特殊符号(屏蔽表情输入)