Perché questo script bash
ssh $SERVER bash <<EOF
sed -i "s/database_name: [^ ]*/database_name: kartable_$ME" $PARAM_FILE
exit
EOF
output ->
sed: -e expression #1, char 53: unterminated `s' command
Perché questo script bash
ssh $SERVER bash <<EOF
sed -i "s/database_name: [^ ]*/database_name: kartable_$ME" $PARAM_FILE
exit
EOF
output ->
sed: -e expression #1, char 53: unterminated `s' command
Risposte:
Il scomando in sed, utilizza una sintassi specifica:
s/AAAA/BBBB/options
dove si strova il comando di sostituzione, AAAAè la regex che si desidera sostituire, BBBBè con ciò con cui si desidera che venga sostituito ed optionsè una delle opzioni del comando di sostituzione, come global ( g) o ignore case ( i).
Nel tuo caso specifico, ti mancava la barra finale /, se la aggiungi sedfunzionerà perfettamente:
➜ ~ sed 's/database_name: [^ ]*/database_name: kartable_$ME/'
database_name: something
database_name: kartable_$ME
info sed 'The "s" Command' include la descrizione completa e l'uso del comando s.
/non ilg,gè per il globale che potrebbe non essere desiderato.