Я делаю проект докера с нуля и следую учебному пособию (я следую кулинарной книге Django2 WebDevelopment). Я наткнулся на раздел, который не знаю, как конвертировать в Powershell из Bash. У меня есть следующий скрипт в моем /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, мне просто нужно знать, если и почему это не может.






Хорошо, после некоторой отладки я изменил сценарий powershell на файл .bat. Содержание следующее:
::!/usr/bin/env bash
:: bin/dev
:: environment variables to be defined externally for security
:: - MYSQL_USER
:: - MYSQL_PASSWORD
:: - MYSQL_ROOT_PASSWORD
SET DOMAIN=myproject.local
SET DJANGO_USE_DEBUG=1
SET DJANGO_USE_DEBUG_TOOLBAR=1
SET SITE_HOST=%DOMAIN%
SET MEDIA_HOST=media.%DOMAIN%
SET STATIC_HOST=static.%DOMAIN%
SET MYSQL_HOST=localhost
SET MYSQL_DATABASE=myproject_db
docker-compose %*
Я могу нормально запустить файл, как описано в руководстве; Мне нужно установить переменные MYSQL_USER и MYSQL_PASSWORD, и я делаю это так:
SET MYSQL_USER=myproject_user & SET MYSQL_PASSWORD & dev up -d