
在windows上编辑好sh后到linux下运行时常会出现“no such file or directory”,如果确实存在文件,可能是格式的问题,脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识,需改成unix格式。
windows系统下 :https://sourceforge.net/projects/dos2unix/
- 下载工具,解压后,进入bin文件夹

- 在当前位置执行cmd命令(更多命令信息参考说明文档):
dos2unix -n test.txt out.txt

- 在转换完成之后查看:用ultraedit的 home->file properities可一查看类型:

由

变为

用txt打开,右下角也能查看类型:

windows系统下 :ultraedit(在文件名处右键,寻找conversions选择相应的转换类型)



linux系统下:dos2unix命令转换DOS格式为UNIX格式
| 系统 | 命令 |
|---|---|
| CentOS/RHEL | yum install -y dos2unix |
| Debian/Ubuntu | apt-get install dos2unix |
| 使用命令 | dos2unix filename |
参考文章:
[ sudo apt-get install dos2unix](https://linux.cn/article-12558-1.html)
[dos2unix命令](https://linux265.com/course/linux-command-dos2unix.html)
软件下载:
[https://sourceforge.net/projects/dos2unix/](https://sourceforge.net/projects/dos2unix/)
[ultraedit](https://www.ultraedit.com/downloads/ultraedit-download/)
更多:
[在pycharm中可以设置行分隔符的类型](https://www.jetbrains.com/help/pycharm/configuring-line-endings-and-line-separators.html)
本文介绍了如何在Windows上使用dos2unix工具将DOS格式的.sh脚本转换为Unix格式,以避免在Linux下'nosuchfileordirectory'错误,并提供了CentOS/RHEL和Debian/Ubuntu系统的安装及使用步骤。还推荐了UltraEdit查看和转换文件类型的方法。
8718





