syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案
1问题:Linux和windows下的回车换行符不兼容的问题
[root@node-01 script]# sh start_zk.sh
art_zk.sh: line 3: syntax error near unexpected token `do
'tart_zk.sh: line 3: `do
2.展示信息:

此处我贴出了源码;大家可以试一试:
#!/bin/sh
for host in node-01 node-02 node-03
do
ssh $host "source /etc/profile;nohup zkServer.sh > /dev/null 2>&1 &"
echo "$host zk is running"
done
3.解决方案(有两种):
看似写的完全没有问题的逻辑代码.但是只要运行就会出错.
本人是在wind本地写的shell命令,问题主要出在自己在wind上写的内容,而需要上传到linux系统上运行就会出现格式问题.
(第一种)(01).是win下的格式图片:

(02).是linux下的格式图片:

(03)设置显示上面那些黑色块:CRLF和LF
notepad++中首先设置视图->显示符号->显示所有符号,然后就看到了预料到的,所有的回车换行都是windows的CRLF
其次设置:编辑->文档格式转换->转换为UNIX格式
(04)运行成功:

(第二种)解决方案:
这里就不用上面的案例举例.这是补充方式:
(1)如果在wind上写好的没有更改格式,也可以在linux上进行查询和更改
(2)例如root目录下有一个 itcast_gdm_user_basic.sh文件
(3)vim itcast_gdm_user_basic.sh
(4)进去以后直接输入 :set fileformat 回车
如果显示是fileformat=dos 就说明是wind格式
如果显示是fileformat=unix 就说明是linux格式
(5)更改格式: 直接输入 :set fileformat=unix 回车就更该完成
(6)再次确认是否成功,重新执行(4)
syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案的更多相关文章
- 写shell,运行出错:syntax error near unexpected token `$’do\r”
cygwin下面写shell,运行出错:syntax error near unexpected token `$’do\r” 写shell,运行出错:syntax error near unexpe ...
- linux后台执行./run.py提示python syntax error near unexpected token `('
python脚本中的#!/usr/bin/python 估计有不少人注意过一些python脚本开头有这么行东东: #!/usr/bin/python 它是用来干嘛的?貌似没有它对脚本功能也没啥 ...
- 关于报错“syntax error near unexpected token `”和回车换行
本来是很简单一个事情,转过来是因为打字机这事比较有趣…… http://blog.csdn.net/xyp84/archive/2009/08/11/4435899.aspx 摘要一下: 回车 换行 ...
- shell编程报错:“syntax error near unexpected token `”
今天写了个shell脚本,在自己机器上运行正常,给同事,运行报错syntax error near unexpected token `,左看右看shell脚本没有问题,没有办法google搜索,发现 ...
- $'\r': command not found 或者 syntax error: unexpected end of file 或者 syntax error near unexpected token `$'\r''
执行shell脚本如果报如下错误: syntax error near unexpected token `$'\r'' syntax error: unexpected end of file $' ...
- Linix登录报"/etc/profile: line 11: syntax error near unexpected token `$'{\r''"
同事反馈他在一测试服务器(CentOS Linux release 7.2.1511)上修改了/etc/profile文件后,使用source命令不能生效,让我帮忙看看,结果使用SecureCRT一登 ...
- Linux中syntax error near unexpected token 错误提示解决方法
Linux中syntax error near unexpected token ... 错误提示有一般有两种原因: 1)window和Linux下换行符不一致导致 window下的换行和Linux下 ...
- syntax error near unexpected token `then'问题的解决
#!/bin/bash #if program test echo 'a:' read a if [ "$a" = "English" ];then ...
- 使用cygwin出现syntax error near unexpected token'$'do\r
直接从csdn复制粘贴的.sh代码,放到cygwin下运行sh的时候出错syntax error near unexpected token'$'do\r 解决方法: 1.下载notepad++ 2. ...
随机推荐
- Vue组件开发
在学习vue的时候,发现有很多使用vue开发的ui组件.本着学习的目的,自己也仿照Element写一些组件. 使用VuePress编写组件文档. 单元测试:karma+mocha+chai+sinon ...
- CENTOS手动安装修复python ,YUM
CENTOS手动安装修复YUM
CENTOS手动安装修复YUM 2019年3月8日 杨宇 Comments 0 Comment 目录 [hide] 一.问题场景 二.手动修复 2.1 下载 rpm 包 2.2 安装 rpm 包 ...
- ubuntu apt update failed to fetch
When I do command sudo apt update, always get belowing errors: Err:1 http://archive.ubuntu.com/ubunt ...
- python学习day20 面向对象(二)类成员&成员修饰符
1.成员 类成员 类变量 绑定方法 类方法 静态方法 属性 实例成员(对象) 实例变量 1.1实例变量 类实例化后的对象内部的变量 1.2类变量 类中的变量,写在类的下一级和方法同一级. 访问方法: ...
- Linux进阶知识和命令
一.Linux目录结构 目录 说明 /lost found系统修复 /bin 二进制命令所在的目录. /boot 系统引导程序所需的文件目录.安装系统分区的时候一般单独要分一个boot分区,大小可谓1 ...
- python12--字符串的比较 函数的默认值的细节 三元表达式 函数对象 名称空间 作用域 列表与字典的推导式 四则运算 函数的嵌套
复习 1.字符串的比较; 2.函数的参数; ******实参与形参的分类: 3.函数的嵌套调用: # 字符串的比较# -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 ...
- docker 基础之监控
docker容器监控命令 docker ps 命令(查看所有的运行中的容器) docker stats 命令(容器状态监控) [root@bogon ~]# docker stats containe ...
- 【Sublime Text】sublime text 安装插件方法总结
#使用Package Control组件安装插件 1.安装Package Control组件 按 Ctrl+` 调出console(注:避免热键冲突,可以在界面上操作 View-show conso ...
- airflow1.10时区修改
https://blog.csdn.net/crazy__hope/article/details/83688986
- 为Nexus配置阿里云代理仓库【转】
Nexus默认远程仓库为https://repo1.maven.org/maven2/ 慢死,还常连不上. 可以添加阿里云代理仓库 URL:http://maven.aliyun.com/nexus/ ...