Я пытаюсь выполнить команду sed из файла docker compose.Команда ищет соответствие текста в файле, а затем заменяет следующую строку текста текстом, который я выполняю:
command: bash -c "sed ''/Http Basic Authentication Filter/!b;n;c<filter>'' webapps/engine-rest/WEB-INF/web.xml > webapps/engine-rest/WEB-INF/noauth.xml"
Я могу запустить команду непосредственно в bash, и она работает какОжидается, что при запуске docker-up я получаю:
sed: unmatched '/'
bash: n: command not found
bash: filter: No such file or directory
Итак, я предполагаю, что это проблема с выходом символов YAML, но я не могу заставить ее работать.
Я также попробовал следующее, чтобы избежать экранирования символов:
command: >
bash -c sed '/Http Basic Authentication Filter/!b;n;c<filter>' webapps/engine-rest/WEB-INF/web.xml > webapps/engine-rest/WEB-INF/noauth.xml