shell执行提示异常

问题描述

启动脚本第一行提示line 1: #!/bin/sh: No such file or directory
看着都难受,有强迫症必须修复它

log

[weblogic@hz-dzswj-sc-x sh]$ ./start_bszm-web.sh
./start_bszm-web.sh: line 1: #!/bin/sh: No such file or directory
Using CATALINA_BASE:   /servyou/tomcat/bszm-web_tomcat
Using CATALINA_HOME:   /servyou/tomcat/bszm-web_tomcat

问题解决

经分析是因为脚本的换行符有问题(CRLF),liunx的换行符(LF).所以修改下换行符问题自热就得到解决。
把脚本copy出来,放到vscode修改LF然后保存,在copy到脚本中即可。

知识点

LF vs CRLF

CRLF, LF 是用来表示文本换行的方式

CR(Carriage Return) 代表回车,对应字符 '\r'
LF(Line Feed) 代表换行,对应字符 '\n'

由于历史原因,不同的操作系统文本使用的换行符各不相同,主流的操作系统一般使用CRLF或者LF作为其文本的换行符。

//shell脚本换行符的差异
Windows 系统使用的是 CRLF
Unix系统(包括Linux, MacOS近些年的版本) 使用的是LF
出处:http://xiaochina.cnblogs.com/
版权: 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,否则保留追究法律责任的权利!