2011-09-19 79 views
1

我想在shell提示符下执行以下命令:语法错误调用SQL脚本

nohup sqlplus DB_ID/[email protected] @main.sql 490 >> result.out 2>>&1 & 

main.sql是SQL脚本,接受490作为参数。 我得到的错误:

bash: syntax error near unexpected token `&' 

语法有什么问题?

+0

什么最后的&?复制粘贴时是否有错误? – roymustang86

+0

我在这里得到了这样的语法:http://www.mail-archive.com/[email protected]/msg35217.html – Victor

回答

3

语法错误来自您将STDERR重定向到STDOUT。所需的(且唯一有效的)语法是2>&1。它仍然做你期望的。您在STDOUT重定向中执行的>>仅对实际文件有帮助,并防止文件数据被擦除。对于管道重定向,这不是必需的,甚至不允许语法方面。

最终的正确语法是

nohup sqlplus DB_ID/[email protected] @main.sql 490 >> result.out 2>&1 &