Oracle 在sqlplus spool文件中使用美元符号

Oracle 在sqlplus spool文件中使用美元符号,oracle,unix,sqlplus,Oracle,Unix,Sqlplus,如何在unix中使用带美元符号(即,“$”)的文件名,如下所示 SQL> spool DIR$work.sql SP2-0332: Cannot create spool file. SQL> spool DIR\$work.sql SP2-0332: Cannot create spool file. SQL> spool 'DIR\$work.sql' SP2-0332: Cannot create spool file. SQL> spool 'DIR$work.

如何在unix中使用带美元符号(即,“$”)的文件名,如下所示

SQL> spool DIR$work.sql
SP2-0332: Cannot create spool file.
SQL> spool DIR\$work.sql
SP2-0332: Cannot create spool file.
SQL> spool 'DIR\$work.sql'
SP2-0332: Cannot create spool file.
SQL> spool 'DIR$work.sql'
SP2-0332: Cannot create spool file.
我试着像下面一样

SQL> spool DIR$work.sql
SP2-0332: Cannot create spool file.
SQL> spool DIR\$work.sql
SP2-0332: Cannot create spool file.
SQL> spool 'DIR\$work.sql'
SP2-0332: Cannot create spool file.
SQL> spool 'DIR$work.sql'
SP2-0332: Cannot create spool file.
我无法在oracle中成功创建这样的文件。 我有oracle 11g版本

在WindowsSQLPlus中,它可以正常工作

您可以使用该设置停止Oracle解释美元符号:

SQL> show escchar
escchar OFF
SQL> spool /tmp/$work.sql
SP2-0332: Cannot create spool file.
SQL> set escchar $
SQL> spool /tmp/$work.sql
SQL>
您现在正在假脱机到该文件名

SQL> select * from dual;

D
-
X

1 row selected.

SQL> spool off
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
...

$ cat /tmp/\$work.sql
SQL> select * from dual;

D
-
X

1 row selected.

SQL> spool off

有关更多信息,请参阅我的Oracle支持文档761384.1。

可能的副本:@UltraCommit当我执行
cat
touch
命令时,它在外部工作,但在sqlplus中不执行假脱机命令