Windows Bash执行pull.sh脚本报错:路径莫名添加\r导致找不到目录
Bash脚本路径含\r导致cd失败的解决办法
问题根源
在Windows下编辑的shell脚本默认用CRLF(\r\n)换行,而Bash环境只认LF(\n)。脚本里的\r被当成了路径的一部分,自然找不到目标目录。
两种解决思路
1. 转换脚本换行符为LF
- 用Notepad++打开pull.sh:点击右下角的
CRLF,切换成LF后保存。 - 或者在Windows Bash里执行命令移除
\r:
如果装了dos2unix工具,直接运行:
没装的话用sed命令处理:dos2unix pull.shsed -i 's/\r$//' pull.sh
2. 优化脚本路径写法
Windows路径在Bash里可以用正斜杠替代反斜杠,或者用引号包裹路径避免繁琐转义:
cd "D:/New folder (8)" git pull
如果坚持用反斜杠转义的写法,也可以,但前提是先处理好换行符问题。
内容的提问来源于stack exchange,提问作者Artier
相关产品推荐
相关产品推荐

