Ошибка команды sed в средстве подготовки оболочки упаковщика hashicorp - PullRequest
0 голосов
/ 06 мая 2020

Используя обновление на месте команды sed, я пытаюсь найти строку в файле и заменить ее несколькими строками. Вот как я хотел бы обновить файл.

До sed: foo. sh

#!/bin/sh

Команда sed:

sed -i 's|#!\/bin\/sh|#!\\/bin\\/sh\n\n. \\/etc\\/company\\/aws_functions\n\nif [ -f \\/etc\\/company\\/user_data ];then\n\t. \\/etc\\/company\\/user_data\nfi\n|g' /tmp/foo.sh

После sed: foo . sh

#!/bin/sh

. /etc/company/aws_functions

if [ -f /etc/company/user_data ];then
    . /etc/company/user_data
fi

Это работает отлично, однако при попытке выполнить ту же команду с помощью средства подготовки оболочки упаковщика я продолжаю получать следующую ошибку.

sed: -e expression #1, char 23: unterminated `s' command[0m

Я выполнил https://github.com/hashicorp/packer/issues/9091 тоже, но не повезло. Любые указатели для исправления этого будут оценены. Спасибо.

...