В sed
, символа новой строки нужно оставить в правой стороне s
команда, таким образом, необходимо записать это:
sed 's/foo/1\
2\
3/g'
Некоторые sed
реализации также поддерживают (нестандартный):
sed 's/foo/1\n2\n3/g'
Если $bar
должна быть замена, Вы должны были бы сначала вставить обратную косую черту перед каждым символом новой строки. В то время как Вы в нем, необходимо также вставить обратную косую черту перед каждой наклонной чертой, обратной косой чертой и символом амперсанда.
Что-то как:
bar_escaped=$(printf '%s\n' "$bar" | sed 's,[\/&],\\&,g;s/$/\\/')
bar_escaped=${bar_escaped%?}
sed "s/foo/$bar_escaped/g"
Я предложил бы пройти Wiki Webmin, существует названная тема: Начальная загрузка и Завершение работы. Обычно необходимо включать специальные комментарии наверху так, чтобы сценарий был забран как являющийся правильно построенным сценарием запуска.
Конкретно заметьте init строки комментария: