将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-containing-slashes-with-sed

相关内容