【发布时间】:2019-06-16 23:02:51
【问题描述】:
我正在从头开始做一个 docker 项目,并遵循一个教程(我正在关注 Django2 WebDevelopment Cookbook)。我遇到了一个部分,我不知道如何从 Bash 转换为 Powershell。我的/bin/dev.ps1 中有以下脚本
#!/usr/bin/env bash
# bin/dev
# environment variables to be defined externally for security
# - MYSQL_USER
# - MYSQL_PASSWORD
# - MYSQL_ROOT_PASSWORD
DOMAIN=myproject.local
DJANGO_USE_DEBUG=1 \
DJANGO_USE_DEBUG_TOOLBAR=1 \
SITE_HOST="$DOMAIN" \
MEDIA_HOST="media.$DOMAIN" \
STATIC_HOST="static.$DOMAIN" \
MYSQL_HOST="localhost" \
MYSQL_DATABASE="myproject_db" \
docker-compose $*
我已将文件编辑为这样,因为上述内容不适用于 Windows:
#!/usr/bin/env bash
# bin/dev
# environment variables to be defined externally for security
# - MYSQL_USER
# - MYSQL_PASSWORD
# - MYSQL_ROOT_PASSWORD
$DOMAIN="myproject.local"
$DJANGO_USE_DEBUG=1
$DJANGO_USE_DEBUG_TOOLBAR=1
$SITE_HOST="$DOMAIN"
$MEDIA_HOST="media.$DOMAIN"
$STATIC_HOST="static.$DOMAIN"
$MYSQL_HOST="localhost"
$MYSQL_DATABASE="myproject_db"
docker-compose
现在,当您运行 docker-compose 时,它会为我提供标准输出,而无需任何参数。我也在尝试从我的终端运行以下命令:
MYSQL_USER=myproject_user \
> MYSQL_PASSWORD=pass1234 \
> ./bin/dev up -d
显然这在 Windows 中不起作用,它甚至给我一个错误,它找不到 MYSQL_USER 命令或任何东西。如何编辑 PS 文件以便在 Windows 上使用它?以及如何运行它以便它也将参数传递给文件?
编辑:如果这在 Windows 和 Linux 中不起作用,我很好,我只需要知道它是否/为什么不能。
【问题讨论】: