gpt4 book ai didi

linux - 有没有办法配置 sqlplus 将错误输出到 STDERR 而不是 STDOUT?

转载 作者:行者123 更新时间:2023-12-03 09:46:41 25 4
gpt4 key购买 nike

如果我通过管道传输此脚本:

me:~/git/my-project$ find . -type f -not -path '*bin*' -name '*ignored*sql' -exec cat {} \;
dsadadasda SELECT * FROM some_table;

像这样进入 sqlplus:
me:~/git/my-project$ find . -type f -not -path '*bin*' -name '*ignored*sql' -exec cat {} \; | sqlplus $my_connection_string | grep -i unknown
SQL> SP2-0734: unknown command beginning "dsadadasda..." - rest of line ignored.

然后错误进入 STDOUT 而不是 STDERR :
me:~/git/my-project$ find . -type f -not -path '*bin*' -name '*ignored*sql' -exec cat {} \; | sqlplus $my_connection_string 1>/dev/null
me:~/git/my-project$

有没有办法配置 sqlplus 否则?

最佳答案

我想在这里引用 Manoj:
文件描述符 1 是标准输出 ( stdout )。
文件描述符 2 是标准错误 ( stderr )。
这是记住这个结构的一种方法(尽管它并不完全准确):起初,2>1 看起来像是将 stderr 重定向到 stdout 的好方法。但是,它实际上会被解释为“将 stderr 重定向到名为 1 的文件”。 & 表示后面和前面的是文件描述符而不是文件名。所以构造变成: 2>&1
将 >& 视为重定向合并运算符。
引用链接到源:In the shell, what does " 2>&1 " mean?

关于linux - 有没有办法配置 sqlplus 将错误输出到 STDERR 而不是 STDOUT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58580333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com