1.在windows 10系统下用VS code开发,因Linux和导致bash脚本文件中的
Linux和Windows系统在处理文本时使用的换行符不同,这是由于历史原因和不同操作系统的设计差异所导致的。在Unix和Linux系统中,行的结束符通常是LF (Line Feed)字符,而Windows系统则使用CRLF (Carriage Return + Line Feed)字符作为行的结束符。因此,在使用文本编辑器或其他程序时,应该注意这种差异,以避免在不同系统之间出现问题。
当在Windows系统下使用VS Code开发Bash脚本时,由于Windows系统的换行符比Linux系统多一个回车符,因此在Linux系统下无法正确解析Bash脚本而导致报错。为了解决这个问题,可以使用一些文本编辑器,如Notepad++等,将文件的换行符从Windows格式转换为Unix格式,这样就可以在Linux系统上正确地运行Bash脚本了。
更多关于Linux和Windows系统的换行符差异,以及如何正确处理这些差异的知识点可以参考下面的链接:
- Understanding Linux and Windows Line Ending Differences(理解Linux和Windows的换行符差异):https://www.howtogeek.com/414244/what-are-cr-and-lf/
- The Great Newline Schism(换行符之争):https://blog.codinghorror.com/the-great-newline-schism/
- How to convert a file from CRLF to LF line endings(如何将文件从CRLF转换为LF换行符):https://www.shellhacks.com/convert-crlf-to-lf-linux-command-line/
vs code 下的解决办法:
linux系统和windows系统换行符不一致,导致windows下用vs code开发的bash命令脚本在Linux下无法执行的报错。
如果在Linux下面运行,选择LF即可