sedを使用してSQLスクリプトのパスを変更します。

sedを使用してSQLスクリプトのパスを変更します。

bashスクリプトでoracle sqlスクリプトのパスを変更しようとしています。

read -e -p "Enter the ORACLE SID: " -i "orcl" ORACLE_SID_VALUE
sed -i "DEFINE tsdir = '/u02/app/oracle/oradata/orcl';/c\DEFINE tsdir = '/u02/app/oracle/oradata/${ORACLE_SID_VALUE}'" schema-install.sql

スクリプトを実行すると、次のエラーが発生します。 sed: -e 式 #1、文字 2: コマンドの後の追加文字

誰でも正しいsedコマンドを使用するのに役立ちますか?


追加情報

明確にすると、Schema-install.sqlファイルには、Oracleデータベースが保存される場所を定義する行があります。

DEFINE tsdir = '/u02/app/oracle/oradata/orcl';

この値を変更したいです。オーク私の入力変数ORACLE_SID_VALUEの値として。

ベストアンサー1

私は努力します:

sed -i -e "/DEFINE tsdir = /c\
DEFINE tsdir = '/u02/app/oracle/oradata/${ORACLE_SID_VALUE}'
" schema-install.sql

sedパス定義の/によって混乱します。

おすすめ記事