dennyLee2025

原因

原因是因为 shell 脚本是在 Windows 编写导致的换行问题,具体原因是 Windows 的换行符号为 CRLF\r\n),而 Unix\Linux 为 LF\n),Macintosh 为(\r)

名称解释

缩写

全称

ASCII转义

说明

CR

Carriage Return

\r

回车,Macintosh 的回车符合

LF

Linefeed

\n

换行,Unix\Linux 的换行符

CRLF

Carriage Return & Linefeed

\r\n

回车并换行,Windows 的换行符

解决一:在windows 中解决

可以通过notepad++ 查看所有字符

 双击下图红框进行修改

 修改后

 解决二:在unix机解决

sed -i "s/^M//g" windows.sh
或
sed -i "s/\r//g" windows.sh

 

 

分类:

技术点:

相关文章: