bin bash: No such file or directory 解决方法
错误提示
./bash.sh: line 1: *!/bin/bash: No such file or directory
执行脚本报警告信息。
原因及解决方法
Windows的回车换行(\r\n)和Linux的回车换行(\n)是不同的。
安装dos2unix:
yum install dos2unix -y
执行:
dos2unix bash.sh
重新保存文件,去掉 unicode 签名就好了。
扩展
\r (回车 - Carriage Return)
\r (回车): 这个概念源于机械打字机。当打字员打完一行字后,需要把字车(Carriage)复位到本行的开头,以便开始输入下一行。所以,回车指的是光标回到当前行的开头。
\n (换行 - Line Feed)
\n (换行): 同样源于机械打字机。当打完一行字后,字纸需要向上卷动一行,以便在下一行开始输入。所以,换行指的是光标垂直向下移动一行。
| 特性 |
\r (回车) |
\n (换行) |
\r\n (回车换行) |
| 含义 |
光标回到当前行开头 |
光标垂直向下移动一行 |
光标回到行首并移动到下一行 |
| 操作系统 |
旧版 macOS (Mac OS 9) |
Unix/Linux, macOS (较新) |
Windows |
| 网络协议 |
较少单独使用 |
较少单独使用 |
HTTP, FTP, SMTP 等 |
| 视觉效果 |
通常不可见,或导致覆盖 |
换行 |
换行 |