问题
linux系统是centos 7.x 发现将windows自动打的包发到centos后执行.sh文件出现如下:

通过查询发现,原来windows的格式不是unix而是其他格式,导致手动发包上去导致该问题。
查询.sh文件的格式,通过vim 打开.sh然后执行如下:
代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;">:set ff
结果:

发现是dos格式是有问题,需要转换成unix。
解决方法通过替换解决:代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;">sed -i 's/\r//' <filename> 转化为unix格式
<pre class="brush:php;toolbar:false;">#转换格式:set ff=unix#保存退出:wq

1.打开.sh文件,然后点击右下角CRLF修改为UNIX of OS就OK了

2.在配置文件中,统一添加以下配置
代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;"><lineEnding>unix</lineEnding>

以上就是问题 linux下执行.sh 文件出现 no such file or directoryile的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号