Docker 由于 "grep -v" 尾随 \r,构建 Django 应用程序时 compose 失败
Docker compose failed while building Django app because of "grep -v" with trailing \r
我正在尝试编写一个 docker-compose 文件,有一个步骤是我 运行 grep -v '^#' .env
从 .env
中获取所有未注释的行文件设置环境变量。
在.env
文件中,它看起来像这样
DB_ENGINE=django.db.backends.postgresql
然而,在 运行 grep -v '^#' .env
和我检查环境之后,变量 DB_ENGINE
的值为 "django.db.backends.postgresql\r"
(注意那里尾随的 \r
)。
我该如何克服这个问题?我已经这样做了很长时间,以前从未发生过。
无需对所有文件尝试 dos2unix,您可以简单地从 grep 结果 as in here 中删除任何 \
r,其中:
grep -v '^#' .env| tr -d '\r'
我正在尝试编写一个 docker-compose 文件,有一个步骤是我 运行 grep -v '^#' .env
从 .env
中获取所有未注释的行文件设置环境变量。
在.env
文件中,它看起来像这样
DB_ENGINE=django.db.backends.postgresql
然而,在 运行 grep -v '^#' .env
和我检查环境之后,变量 DB_ENGINE
的值为 "django.db.backends.postgresql\r"
(注意那里尾随的 \r
)。
我该如何克服这个问题?我已经这样做了很长时间,以前从未发生过。
无需对所有文件尝试 dos2unix,您可以简单地从 grep 结果 as in here 中删除任何 \
r,其中:
grep -v '^#' .env| tr -d '\r'