这种报错是因为脚本是在 Windows 下写的,然鹅却在 Linux 下运行,所以会出错。我的解决方法是将脚本用 Notpad++ 打开,之后双击击左下角的 Windows(CR LF),选择 Unix(LF),重新上传服务器运行就可以了。
Linux运行脚本./XXXsh: line 1: $‘\r‘: command not found问题 在执行./xxx.sh命令时,系统报错: ./xxx.sh: line 1: $’\r’: command not found 问题原因 出现这种问题是因为windows下的文件换行用的是\r\n 而linux系统用的是\n,如果win下的文档上传到linux,每行的结尾都会出现一个^M 方法: 通...
用Windows上写了一个脚本,结果放到虚拟机上运行的时候出现了一个错误:** $'\r': command not found **。 错误的原因是linux系统的换行符是\n,而Windows里的换行符是\r\n。 解决方法: 安装一个命令:dos2unix shell yum install dos2unix -ydos2unix 文件名 解决方法: __EOF__...
大多数时候我们都是通过SSH连接服务器然后编写sh脚本,但是之前我遇到编写多行sh脚本时发现,明明脚本和别人的一模一样,但是运行不了,非常奇怪。 就像下面的Docker运行脚本,运行一直有command not found或者invalid reference format错误。 docker run \ --name *** \ -e PREFER_HOST_MODE=hostname \ -e SPRING_DA...
shell脚本运行报错$'\r': command not found 执行个别shell测试脚本运行报错$'\r': command not found 考虑到可能是windows与Linux的换行符不同的原因(windows是\r\n,Linux是\n)造成的,但是又不想一个个替换。 可以使用如下命令来解决: # vi 脚本名...
在Windows 下编写好 Shell 脚本之后放到 Linux 上运行报错,如: line 4 $' r' command not found 问题原因出现这样的错误,是因为 Shell 脚本在 Windows 系统编写时,每行结尾是 “<换行><回车>”,即 \n\r ;在 Unix 体系中每行结尾只有“<换行>”,即 \n ,所以在 Unix 体系中运行脚本时,会认为 \r 是...
$‘\r‘: command not found的解决方法 在Linux系统中,运行Shell脚本,出现了如下错误: one-more.sh: line 1: $'\r': command not found 1 出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致运行...
结果行是\n。所以在Linux下运行脚本 会任务\r 是一个字符,所以运行错误 需要把文件转换下:使用Notepad++, Edit -> EOL conversion -> Unix/OSX format(编辑->文档格式转换->转为Unix)参考 : [1] bash - '\r': command not found - .bashrc / .bash_profile - Stack Overflow ...
要看你的脚本解释器,也就是第一句是什么,一般是#!/bin/bash或#!/bin/sh之类,不写他也会有个默认的解释器啦,如果你的命令不在这个解释器对应的路径下,自然会提示“cmd not found”了。你不妨在给命令前添加完整路径(如/usr/bin/less),或者修改脚本第一句,或在脚本中添加环境变量。
在当前目录/home/lisa下有一个shell脚本prog,它的权限是rwxr-xr-x,如果在命令行运行prog,得到“command not found”,下面哪能些说明是正确的 A. 你没有授权执行这个程序 B. Prog是不可执行的。 C. 路径/home/lisa没有包括在path环境变量 中 D. 你需要打入./prog去此程序 相关知识点: ...