shell脚本空行造成“: not found.sh“报错的解决方法
#事故现场
执行shell脚本文件,报错:: not found.sh: 6: coreinstall.sh:
查看脚本文件第6行,发现是空行;
#事故原因
window下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。
#解决方法
方法一:使用notepad转换
在右下角的windows(CR LF),点击右键,选择转为Unix(LF)
方法二:使用vscode转换
点击右下角的CRLF,选择LF即可;
方法三:使用vim转换
使用vim打开xxx.sh
vim xxx.sh
直接输入“:set ff
”,不用进编辑模式;
如果输出“fileformat=dos
”,说明文本格式是windows下的;
直接输入“:set ff = unix
” 即可。
#参考
https://stackoverflow.com/questions/82726/convert-dos-line-endings-to-linux-line-endings-in-vim
作者:willingtolove
出处:http://www.cnblogs.com/willingtolove/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。