0

考虑 ./my_script >/var/log/my_log

仅来自此脚本的单个 echo 语句必须转到标准输出。

这怎么可能实现?

4

2 回答 2

1

所以我们有一些聪明的程序

cat print2stdout 
#!/bin/sh

echo some words secret and sent to null

echo some words to stdout > /dev/fd/3

最后一行将回显到打开的 3 个文件描述符。

调用时我们将 3 FD 映射到标准输出,然后将标准输出重定向到文件

结果如下所示:

./print2stdout 3>&1 >/dev/null  
some words to stdout
于 2012-11-16T08:20:10.830 回答
1

只需使用/dev/ttywhich 指向您的终端仿真器,而不管重定向。

#!/bin/sh

echo this line go to the possibly redirected stdout 
echo this line shows up on the screen > /dev/tty
于 2012-11-16T08:24:23.520 回答