我希望将bd命令复制到stderr的标准输出。例如:将stdout复制到stderr
$ echo "FooBar" (...)
FooBar
FooBar
$
其中(...)是重定向表达式。那可能吗?
我希望将bd命令复制到stderr的标准输出。例如:将stdout复制到stderr
$ echo "FooBar" (...)
FooBar
FooBar
$
其中(...)是重定向表达式。那可能吗?
使用发球为/ dev /标准错误:
echo "FooBar" | tee /dev/stderr
或用awk/perl的/蟒蛇做手工复制:
echo "FooBar" | awk '{print;print > "/dev/stderr"}'
echo "FooBar" | perl -pe "print STDERR, $_;"
使用过程换人:http://tldp.org/LDP/abs/html/process-sub.html
echo "FooBar" | tee >(cat >&2)
Tee将文件名作为参数并将输出复制到此文件。通过进程替换,您可以使用进程而不是文件名>(cat)
,并且可以将此进程的输出重定向到stderr >(cat >&2)
。
对于没有/ proc文件系统的OS X等操作系统来说,这是一个很好的解决方案。 – Meow 2016-06-09 11:38:13
echo "FooBar" |tee /dev/stderr
tee: /dev/stderr: Permission denied
不是在RedHat 6.3
echo "FooBar" | (read A ; echo $A ; echo $A >&2)
工作
对不起,解释添加;-) – defdefred 2018-03-02 13:48:37
请参阅使用[我怎么能标准输出发送到多个命令?](http://unix.stackexchange.com/questions/28503/how-can-i-send-stdout-to-multiple-commands) – 2015-10-02 13:16:28