Почему этот скрипт
ssh $SERVER bash <<EOF
sed -i "s/database_name: [^ ]*/database_name: kartable_$ME" $PARAM_FILE
exit
EOF
вывод ->
sed: -e expression #1, char 53: unterminated `s' command
Почему этот скрипт
ssh $SERVER bash <<EOF
sed -i "s/database_name: [^ ]*/database_name: kartable_$ME" $PARAM_FILE
exit
EOF
вывод ->
sed: -e expression #1, char 53: unterminated `s' command
Ответы:
Команда sв sed, использует определенный синтаксис:
s/AAAA/BBBB/options
где s- это команда подстановки, AAAAэто регулярное выражение, которое вы хотите заменить, BBBBс тем, на которое вы хотите заменить его, и optionsлюбая из опций команды подстановки, например global ( g) или ignore case ( i).
В вашем конкретном случае вы пропустили последний слеш /, если вы добавите его, все sedбудет работать нормально:
➜ ~ sed 's/database_name: [^ ]*/database_name: kartable_$ME/'
database_name: something
database_name: kartable_$ME
info sed 'The "s" Command' включает в себя полное описание и использование команды s.
/не дляg,gэто для глобального, который не может быть желательным.