UnixLinux 执行 shell 报错:“$' ': 未找到命令” 的解决办法

UnixLinux 执行 shell 报错:“$'
': 未找到命令” 的解决办法

原因

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

名称解释

缩写

全称

ASCII转义

说明

CR

Carriage Return

回车,Macintosh 的回车符合

LF

Linefeed

换行,UnixLinux 的换行符

CRLF

Carriage Return & Linefeed

回车并换行,Windows 的换行符

解决一:在windows 中解决

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

UnixLinux 执行 shell 报错:“$'
': 未找到命令” 的解决办法

 双击下图红框进行修改

UnixLinux 执行 shell 报错:“$'
': 未找到命令” 的解决办法

 修改后

UnixLinux 执行 shell 报错:“$'
': 未找到命令” 的解决办法

 解决二:在unix机解决

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