¿Por qué este script bash?
ssh $SERVER bash <<EOF
sed -i "s/database_name: [^ ]*/database_name: kartable_$ME" $PARAM_FILE
exit
EOF
salida ->
sed: -e expression #1, char 53: unterminated `s' command
El s
comando en sed
, utiliza una sintaxis específica:
s/AAAA/BBBB/options
donde s
está el comando de sustitución, AAAA
es la expresión regular que desea reemplazar, BBBB
es con lo que desea que se reemplace y options
es cualquiera de las opciones del comando de sustitución, como global ( g
) o ignorar mayúsculas y minúsculas ( i
).
En su caso específico, le faltaba la barra final /
, si la agrega, sed
funcionará bien:
➜ ~ sed 's/database_name: [^ ]*/database_name: kartable_$ME/'
database_name: something
database_name: kartable_$ME
info sed 'The "s" Command'
incluye la descripción completa y el uso del comando s.
Falta /
al final.
sed -i "s/database_name: [^ ]*/database_name: kartable_$ME/" $PARAM_FILE
/
no elg
,g
es para global que puede no ser deseado.