El comando SED no se está ejecutando desde el script bash

He escrito un script de bash que llama a un comando sed (entre otras cosas) en un archivo para completar una búsqueda / reemplazo de 2 cadenas diferentes.

El problema es que, después de ejecutar el script, compruebo los archivos y no se ha actualizado nada. Sin embargo, si ejecuto los comandos que se están produciendo (de todos modos los echo como salida), entonces funcionan.

Por ejemplo, dentro del script tengo:

echo "/usr/local/bin/sed -i -e 's/${String1}/${String1R}/g;s/\/${String2}\//\/${String2R}\//g' ${ROOT_DIR}/data/file.sql"
/usr/local/bin/sed -i -e 's/${String1}/${String1R}/g;s/\/${String2}\//\/${TString2R}\//g' ${ROOT_DIR}/data/file.sql

Ejecutar el script no cambia file.sql; sin embargo, si ejecuto el comando que se imprime en la consola, por ejemplo. / usr / local / bin / sed -i -e 's file_name1 / file_name2 / g; s // path_substring1 /// path_substring2 // g' /path/to/file/file.sql ¡funciona perfectamente!

Respuestas a la pregunta(1)

Su respuesta a la pregunta