SED-Befehl wird nicht vom Bash-Skript ausgeführt

Ich habe ein Bash-Skript geschrieben, das (unter anderem) einen sed-Befehl für eine Datei aufruft, um das Suchen / Ersetzen von 2 verschiedenen Zeichenfolgen abzuschließen.

Das Problem ist, dass ich nach dem Ausführen des Skripts die Dateien überprüfe und nichts aktualisiert wurde. Wenn ich jedoch die Befehle ausführe, die gerade erstellt werden (ich gebe sie trotzdem als Ausgabe aus), funktionieren sie.

Zum Beispiel habe ich im Skript:

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

Durch Ausführen des Skripts wird file.sql nicht geändert. Wenn ich jedoch den Befehl ausführe, der auf der Konsole ausgegeben wird, z. / usr / local / bin / sed -i -es / dateiname1 / dateiname2 / g; s // path_substring1 /// path_substring2 // g '/path/to/file/file.sql es funktioniert perfekt!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage