在 while 循环中写入错误流

Kon*_*lph 1 bash io-redirection

我有大约以下代码:

cat infile | while read line; do
    echo 2> 'log ' $line
    echo $line
done > outfile
Run Code Online (Sandbox Code Playgroud)

outfile已正确创建。但是,STDERR 输出刚刚消失:它既没有显示在终端上,也没有显示在outfile. 如果我用done > outfile 2> errfilethen替换上面的最后一行,则errfile创建,但为空。

我可以从循环内捕获错误输出吗,最好是通过将其直接流式传输到父 STDERR 中(以上是较大脚本的一部分,其标准错误流由另一个进程捕获)?

jw0*_*013 5

你的语法是错误的:它应该是>&2没有2>