我正在尝试在我的 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