bin bash No such file or directory 解决方法
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 等 |
| 视觉效果 | 通常不可见,或导致覆盖 | 换行 | 换行 |