在Windows下写了一个shell脚本,上传到Linux下执行时报错:
-bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory
解决方法:
由于自己对shell不太熟悉,找同事沟通了后了解了原委,主要原因是test.sh是我在windows下编辑然后上传到linux系统里执行 的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车 (CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以 Linux下运行时就会报错找不到命令。
我们可以通过vi编辑器来查看文件的format格式。步骤如下:
1.首先用vi命令打开文件
[root@localhost test]# vi test.sh
2.在vi命令模式中使用 :set ff 命令
可以看到改文件的格式为
fileformat=dos
3.修改文件format为unix
使用vi/vim修改文件format
命令::set ff=unix
或者::set fileformat=unix
然后:wq保存退出就可以了
相关推荐
到此这篇关于Linux bash:./xxx:无法执行二进制文件报错的文章就介绍到这了,更多相关Linux 无法执行二进制文件 内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!...
-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 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...
解决Centos6.7:-bash: ./DrClientLinux: /lib/ld-linux.so.2: bad ELF 的所有rpm包
以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! ...
主要介绍了Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录,需要的朋友可以参考下
CentOS7安装VMware Tools 在安装VMware-tools出现bash:./vmware-install.pl :/usr/bin/perl:bad interpreter:No such file or directory.处理方式
这已经下载好了,下载之后,通过 bash ./downloadbyfn.sh 1.1.0 -s 运行。 具体可以看https://blog.csdn.net/u013288190/article/details/112286162
linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案 今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都没看 yum remove yum 然后就杯具了… [root@localhost ~]#...
主要介绍了bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory,需要的朋友可以参考下
MySQL二进制文件开启及查看详解,就解释了如何分析日志文件 .
我用的是ubuntu18.04安装nginx 一般来说我们安装的nginx文件结构大致是这样的: 1. 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下 2.... 3.... 4.... 5....
使用git Bash here闪退并生成mintty.exe.stackdump文件 cmd使用git 报错 fatal:open /dev/null or dup failed: No such file or directory 并弹出mitty.dump文件 使用方法见我的CSDN
关于新版CenterOS7配置redis出现redisiptables错误的解决方法, 排除/etc/rc.d/init.d/iptables: No such file or directory 错误原因 , CentoOS7下配置redis并将端口通过防火墙解决方法;
Kestrel是目前在非Windows平台上运行ASP.NET 5应用程序的可用Web服务器,但微软似乎将它冷落在一边,源代码更新很慢。 ... ./build.sh: line 31: packages/KoreBuild/build/kvm.sh: No such file
ubuntu执行.sh文件,1 .sh文件是Ubuntu下可执行文件,首先需要确定它的权限...注意:不可以用sh filename,因为在Ubuntu下,sh调用的事dash解释器,用./filename默认调用bash解释器,只要在文件开头加上: #!/bin/bash
我写好了安装脚本,在文件夹soft下,你把soft上传home下,对立里面nstall-full.sh给权限,直接./install-full.sh执行即可;对centos7系统我已经试过很多次,我把所有依赖包都下载了,不需要yum,因为有的项目实施没...