windows下编写shell脚本执行错误】的更多相关文章

在 windows 下,换行符是 \r\n,在linux下,换行符是 \n.如果你在IDEA里写sh脚本,可以手动设置脚本的换行符为 \n,如果你用notepad++写脚本,可以显示所有字符,以便明确知道换行答到底是什么.不过还是建议在Linux环境下写脚本并验证,注意在windows环境下,换行符问题很容易被覆盖为 \r\n 也可以在vi或者vim 下执行:set ff=unix改变文件属性…
注意两点: 1.第一行:#!/bin/bash 2.将文档格式转换为unix,因为在windows下编写shell脚本回车符是\n\r,而linux下的回车符是\n,所以在linux下运行脚本的时候,需要修改下脚本的的编码格式. 以VScode为例,改变编码方式: 将CRLF变为LF,这里的CR表示回车,LF表示换行…
常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主要解决例如以下: (1)在VI编辑器中将^M删除: 将VI编辑器切换到命令模式下,输入 :%s/^M//g (注意^M 不是shift ^ +M 而是ctrl+v 加上ctrl+m)  s///g是shell的替换命令 此命令必须是手动打上,不可复制. (2)dos2unix 命令 dos2unix…
shell脚本执行错误 $'\r':command not found Linux下有命令dos2unix 可以用一下命令测试 vi -b filename 我们只要输入dos2unix *.sh就可以完成转换工作了 如果命令不存在的话就用如下命令安装 yum install dos2unix -y…
这篇文章主要介绍了在CentOS系统下编写shell脚本来监控主从复制的教程,文中举了两个发现故障后再次执行复制命令的例子,需要的朋友可以参考下 目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1.创建脚本文件 vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代码 #!/bin/sh # check_mysql_slave status ip=eth0 #网卡名称 mysql_binfile=/usr…
注意:我启动的时候遇到脚本错误 » sh startup.sh -m standalone tanghuang@bogon : command not found : command not found : command not found: 'tartup.sh: line 19: syntax error near unexpected token `in 'tartup.sh: line 19: `case `uname` in 复制代码 这是因为在windows下编写的脚本文件,放到L…
第一步:以管理员的身份进入控制台,在指定目录下新建一个shell脚本,我这里命名为tomcat.sh 第二步:编写shell脚本 #!/bin/bash tomcat_home=/usr/tomcat/apache-tomcat- SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh in start) echo "启动$tomcat_home" $STARTTOMCAT ;; sto…
在linux下,自己编写的脚本需要执行的时候,需要加上执行的权限 解决方式:chmod 777 test.sh…
编辑脚本是直接在windows下写的,并没有使用特定的编辑器或者其他工具,所以很有可能出现一些莫名其妙的异常,这些错误是我们眼睛看不到的,遇到这个情况,例如如下异常或者提示语法错误  Java代码  unexpected end of file  我们可以在linux上使用cat命令,进行清洗数据,  使用工具 cat 和 tr, 方法如下:  bash$ cat -v startqftest.sh |tr -d "^M" > qf.sh  其中 startqftest.sh 是…
今天在windows下的sublime text 2下写了个脚本,上传到ubuntu服务器中执行后提示: -bash: /usr/bin/python: /usr/bin/python^M: bad interpreter: No such file or directory 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh或.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的. 在win7上面…