Как установить unix возврат каретки в. sh файл в windows - PullRequest
0 голосов
/ 06 апреля 2020

Я следовал этому краткому руководству:

https://docs.docker.com/compose/aspnet-mssql-compose/

К сожалению, я не справился с этим аспектом:

Примечание. Обязательно используйте UNIX разделители строк. Сценарий не работает, если вы используете разделители на основе Windows (возврат каретки и перевод строки).

Я попытался загрузить и запустить dos2 unix в моем файле. sh и я пробовал в блокноте ++, используя опцию Edit> EOL Conversion - UNIX (LF).

Но когда я запускаю свой docker - composer up, я получаю это: enter image description here

Я работаю на машине windows. Мой docker движок работает с linux контейнерами (по умолчанию). Надеюсь, что этот быстрый старт заработает, чтобы я мог лучше разобраться с ним, так как не уверен на 100% в проблеме, но, похоже, он связан с этими возвращаемыми символами.

1 Ответ

1 голос
/ 06 апреля 2020
  1. Дайте vim editor шанс. Используйте set ff=unix, чтобы иметь \n в качестве разделителя строк. В любом случае вам понадобится vim, когда вы будете редактировать linux конфигурации внутри ваших контейнеров.
  2. Если вы не хотите исправлять свой редактор, установите sed (из cygwin или unixtools) и выполните эту команду для исправить ваши текстовые файлы:
sed 's/\r//g' entrypoint-crlf.sh > entrypoint.sh
Для разработки linux программного обеспечения лучше иметь под рукой linux. Вы можете запустить свой следующий любимый редактор (vim / emacs) в docker тоже . Еще лучше иметь рабочий стол ma c или linux. Намного проще иметь дело с linux контейнерами, когда ваш рабочий стол unix -спахлен. Некоторые люди имеют linux ВМ и выполняют всю разработку там, используя s sh.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...