shell脚本空行造成“: not found.sh“报错的解决方法(unix与windows文本格式切换)

Posted 非晚非晚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本空行造成“: not found.sh“报错的解决方法(unix与windows文本格式切换)相关的知识,希望对你有一定的参考价值。

  • 问题

当我们在linux系统中启动shell脚本,有时会遇到not found.sh的情况。

  • 原因

因为我们在windows编写或修改后的脚本是dos编码,而正常的在Linux系统中执行的是unix编码,在写shell脚本的时候,在windows的上开发后,上传到服务器,可能会有文件格式不正确

举例:window下的换行是回车符+换行符,也就是\\r\\n,而unix下是换行符\\n

  • 解决方法

方法一:vim切换

vim test.sh
:set ff #如果显示fileformat=dos表示文本格式为windows下的
:set ff = unix #将文本格式切换程unix

方法二:vscode

vscode界面的右下角有CRLF字样,将其改为LF即可。

以上是关于shell脚本空行造成“: not found.sh“报错的解决方法(unix与windows文本格式切换)的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本,awk实现跳过文件里面的空行。

shell脚本,awk在需要的行上打打印空行。

Linux脚本练习之script064-去掉空行

SHELL脚本攻略--2.1 cat

Linux脚本练习之script063-打印空行的行号

SHELL脚本攻略(学习笔记)--2.5 tr