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/ ...