Komenda SED nie jest uruchamiana ze skryptu bash

Napisałem skrypt basha, który wywołuje polecenie sed (między innymi) na pliku, aby zakończyć znajdowanie / zastępowanie 2 różnych ciągów.

Problem polega na tym, że po uruchomieniu skryptu sprawdzam pliki i nic nie zostało zaktualizowane. Jeśli jednak uruchomię produkowane polecenia (i tak powtarzam je jako dane wyjściowe), działają.

Na przykład w skrypcie mam:

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

Uruchomienie skryptu nie zmienia pliku.sql; jednak jeśli uruchomię polecenie wydrukowane na konsoli, np. / usr / local / bin / sed -i -e 's / nazwa_pliku1 / nazwa_pliku2 / g; s // ścieżka_substring1 /// ścieżka_substring2 // g' / ścieżka / do / plik / plik.sql działa doskonale!

questionAnswers(1)

yourAnswerToTheQuestion