您的位置:首页 > 运维架构 > Shell

Linux执行shell脚本提示文件找不到问题解决办法

2018-04-04 10:05 781 查看
当在Linux系统下执行本来存在的shell脚本文件,但是在执行时就是提示你文件不存在。
此时一般原因就是你shell脚本在编写时的系统跟你的执行脚本的系统不一致,比如你在window系统编写的脚本,当拷贝到Linux系统时就会遇见此问题。原因是在windows下编辑的.sh文件的格式为dos格式,而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。另外就是当你在github上使用windows系统下载源文件中包含shell脚本文件 时,当你解压并拷贝到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保存退出,重新执行脚本就正常了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐