![将 Std 输出重定向到一个文件,同时将 Err 输出到另一个文件](https://linux22.com/image/1032919/%E5%B0%86%20Std%20%E8%BE%93%E5%87%BA%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%8C%E5%90%8C%E6%97%B6%E5%B0%86%20Err%20%E8%BE%93%E5%87%BA%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6.png)
我想通过一个命令同时将 std 输出和错误输出写入两个文件中
echo $((1/0)) $((1+2)) > out.txt 2> err.txt
它只将输出打印到 shell 中,而不会打印到 err txt 文件中。此命令只是一个例子,我希望任何命令都能同时写入两个文件
答案1
好的,我找到答案了,答案括号里就是解决方案
(echo $((1/0)) $((1+2))) > out.txt 2> err.txt
我认为它会执行命令然后重定向它,但如果出现错误,它会将错误推送到 std 输出,但在 () 括号中,命令将执行,结果将重定向到文件