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
作者: mvpbang
出处:https://www.cnblogs.com/xiaochina/p/16000215.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
标签:
shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2018-03-13 kibana对logstash监控获取不到数据