Linux 변수를 oracle 스크립트에 전달

Linux 변수를 oracle 스크립트에 전달

Oracle 스크립트에서 mount_point 세부 정보를 전달하려고 합니다.

다음 코드를 사용하여 정수 변수를 전달할 수 있지만 oracle 스크립트에서 마운트 지점 세부 정보를 보낼 수 없습니다.

sed "s/@@pqr@@/$space/g" tablespace_extend.sql |
sqlplus -s "/ as sysdba"
                                                             
BEGIN
space:="@@pqr@@";
dbms_output.put_line(space);
END;
/

동일한 코드를 사용하여 마운트 지점 세부 정보를 전달하면 작동하지 않습니다. 다음 오류 메시지가 반환됩니다.

sed: -e expression #1, char 13: unknown option to `s', mount_point = /u08/dbname/  

답변1

/변수에 sed 명령을 중단시키는 구분 기호로 사용되는 특수 문자가 포함되어 있다고 가정하므로 다음을 시도해 보십시오.

$ space="/u08/dbname/"
$ sed "s:@@pqr@@:$space:g" tablespace_extend.sql
BEGIN
space:="/u08/dbname/";
dbms_output.put_line(space);
END;

방금 sed 구분 기호를 :문자로 전환했습니다.

더 많은 정보를 원하시면 여기를 클릭하세요:https://stackoverflow.com/questions/16790793/how-to-insert-strings-포함-slashes-with-sed

관련 정보