在Windows机器上使用Cookiecutter Django Docker备份功能遇问题求助
解决办法
1. 批量转换文件换行符为LF
如果用Git管理项目,先在Windows下配置Git自动处理换行符:
git config --global core.autocrlf input
重新拉取或检出项目后,Git会自动将文件转换为Linux兼容的LF换行格式。针对已存在的本地脚本文件,可使用dos2unix工具批量修复:
# 安装dos2unix(按需执行) sudo apt-get install dos2unix # 转换单个脚本 dos2unix path/to/your/backup-script.sh # 批量转换目录下所有.sh脚本 find . -name "*.sh" -exec dos2unix {} \;
没有dos2unix的话,用sed命令也能实现:
sed -i 's/\r$//' path/to/your/backup-script.sh
2. 容器内直接修复脚本
若备份文件是挂载进Docker容器执行的,可进入容器后处理:
# 进入目标容器 docker exec -it your-container-name bash # 移除脚本中的\r字符 sed -i 's/\r$//' /path/to/script/in/container.sh
3. 杜绝后续换行符自动转换
在项目根目录创建.gitattributes文件,强制指定脚本类文件使用LF换行:
*.sh text eol=lf *.py text eol=lf
这样Git会始终保持这些文件的LF格式,不会被Windows自动转为CRLF。
4. 单个文件手动转换(VS Code)
用VS Code打开出错的脚本,点击右下角的换行符标识(如显示CRLF),选择LF后保存即可完成转换。
内容的提问来源于stack exchange,提问作者beginnercoder
相关产品推荐
相关产品推荐

