刚刚学习 SHELL 写了一个简单的例子 发生如下错误
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
VI打开文件,没发现任何问题,
把/bin/bash改成/bin/sh
-bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory
依然报错,脚本内容在VI下没有任何问题,仔细一看错误消息,^M..明显在第一行末尾被加入了个^M,
这种情况应该有两种原因
1.在WIN底下用文本编辑工具修改过参数变量,在保存的时候没注意编码格式造成的,
2.也有可能是在VIM里修改,第一行末尾按到ctrl_v
错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.
可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的
(1). vi filename
然后用命令
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.
2.可以用执行dos2unix 命令转换编码
#dos2unix myshell.sh
3..也可以用sed 这样的工具来做:
sed 's/^M//' filename > tmp_filename
mv -f tmp_filename filename
来做
特别说明:^M并不是按键shift + 6产生的^和字母M, 它是一个字符, 其ASCII是0x0D, 生成它的办法是先按CTRL+V, 然后再回车(或CTRL+M)
关于^M
new line of DOS/Windows
new line of dos/win: 0X0d0a
new line of linux/unix: 0X0a
分享到:
相关推荐
linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案 今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都没看 yum remove yum 然后就杯具了… [root@localhost ~]#...
-bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 安装完后 java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...
主要介绍了bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory,需要的朋友可以参考下
以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! ...
到此这篇关于Linux bash:./xxx:无法执行二进制文件报错的文章就介绍到这了,更多相关Linux 无法执行二进制文件 内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!...
标题 "虚拟机root:x:0:0:root:/root:/bin/bash改成 root:x:0:0:root:/root:/bin/csh" 涉及的是Linux操作系统中的用户配置信息更改,特别是关于root用户的Shell切换。在Linux系统中,`/etc/passwd` 文件包含了所有...
### CentOS安装软件时遇到“/lib/ld-linux.so.2: bad ELF interpreter”错误的解决方案 在使用CentOS操作系统的过程中,我们可能会遇到这样的问题:在安装某些软件时,系统会报错“/lib/ld-linux.so.2: bad ELF ...
我用的是ubuntu18.04... 并已经在/etc/init.d/下创建了启动脚本nginx 5. 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available
使用git Bash here闪退并生成mintty.exe.stackdump文件 cmd使用git 报错 fatal:open /dev/null or dup failed: No such file or directory 并弹出mitty.dump文件 使用方法见我的CSDN
在Ubuntu操作系统中,Vim(Vi Improved)是一款强大的文本编辑器,因其高度可配置和高效操作而深受程序员和系统管理员喜爱。"vim config"指的是对Vim编辑器进行个性化设置的过程,以提升编辑效率和舒适度。...
关于新版CenterOS7配置redis出现redisiptables错误的解决方法, 排除/etc/rc.d/init.d/iptables: No such file or directory 错误原因 , CentoOS7下配置redis并将端口通过防火墙解决方法;
在Linux系统中,当尝试执行一个文件时,如果遇到"No such file or directory"的错误,通常意味着系统无法找到指定的文件或目录。然而,这个错误并不总是表示文件不存在,它可能隐藏了更深层次的问题,尤其是在跨平台...
这个Shebang告诉操作系统使用哪个程序来执行脚本中的命令。在上述错误中,`^M`字符就是`\r`,它在Linux中被识别为无效的字符,导致解释器路径被破坏,因此系统无法找到指定的`/bin/bash`。 解决这个问题的方法是...
可能会出现错误信息“-bash:./vmware-install.pl: /usr/bin/perl: bad interpreter: No such file or directory”,这表明未安装编译环境。 解决方案:安装编译环境需要外网连接,输入命令 yum -y install perl gcc...
在安装过程中,如果遇到 `bash:./vmware-install.pl :/usr/bin/perl:bad interpreter: No such file or directory.` 的错误,说明系统缺少 Perl 环境。此时,可以通过以下命令安装 Perl 支持组: ```bash sudo yum ...