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. ...
随机推荐
- 为什么qt成为c++界面编程的第一选择
为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...
- ES6和CommonJS的区别 以及 export和module.exports的区别
ES6和CommonJS的区别 Javascript javascript是一种脚本编程语言,有自己独立的语法与语义,没有javascript,也就没有其他的那些概念了. ES6 JavaScript ...
- log4j2日志模板
log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <!--设置log4j2的自身log级别为 ...
- UOJ22 UR #1外星人(动态规划)
https://www.cnblogs.com/Gloid/p/10629779.html 这一场的D. #include<bits/stdc++.h> using namespace s ...
- [Windows Server]Windows Server turn off screen auto-lock to fit scheduled tasks(Error Code :0x4F7) / 关闭Windows Server的自动锁定来解决计划任务0x4F7错误
1. 打开“运行”,输入“regedit” 并回车. 2. 找到以下注册表路径,将Attributes的值改为 2: (原为1 HKEY_LOCAL_MACHINE \SYSTEM \CurrentC ...
- [powershell]获取FCID&Port
Get-InitiatorID Get-InitiatorPort
- elasticsearch-head的安装
elasticsearch-head是es的一个可视化的客户端插件,可以直接对ES进行增删改查操作,安装前需要先安装NODEJS: 安装: 1.到git上下载源代码: # git clone git: ...
- I/O模型系列之三:IO通信模型BIO NIO AIO
一.传统的BIO 网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请 ...
- 1. Nagios和 NagiosQL安装及配置
目录 1. Nagios 和 NagiosQL简介 2. Nagios+NagiosQL搭建环境说明 3. Nagios.Nagios-plugins和NagiosQL的安装 4. 配置NagiosQ ...
- 一次mysql主从加keepalived配置搭建及切换演示
[需求] 根据需求需要搭建mysql主从架构数据库及加keepalived进行自动切换VIP [环境介绍] 系统环境:CentOS release 6.4 (Final) + Server vers ...