当前位置:首页 > 服务端 > syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案

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.展示信息:

syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案 _ JavaClub全栈架构师技术笔记

此处我贴出了源码;大家可以试一试:

#!/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下的格式图片:

    syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案 _ JavaClub全栈架构师技术笔记

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

    syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案 _ JavaClub全栈架构师技术笔记

 

     (03)设置显示上面那些黑色块:CRLF和LF

      notepad++中首先设置视图->显示符号->显示所有符号,然后就看到了预料到的,所有的回车换行都是windows的CRLF

      其次设置:编辑->文档格式转换->转换为UNIX格式

    (04)运行成功:

      syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案 _ JavaClub全栈架构师技术笔记

 

(第二种)解决方案:

  这里就不用上面的案例举例.这是补充方式:

    (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)

 

作者:绘画者
来源链接:https://www.cnblogs.com/xinliang1788/p/10053178.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/124793.html

标签: syntax error
分享给朋友:

“syntax error near unexpected token `do(写的shell脚本出现格式问题)--->1.问题2.展示信息3.解决方案” 的相关文章