如果脚本的stdout在执行期间被重定向到文件,如何从脚本单独回显特定行到stdout?

时间:2012-11-16 04:45:01

标签: shell scripting stdout file-descriptor io-redirection

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

单独使用此脚本的单个echo语句必须转到stdout。

如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

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

cat print2stdout 
#!/bin/sh

echo some words secret and sent to null

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

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

并且在调用时我们将3 FD映射到stdout,然后将stdout重定向到文件

结果如下:

./print2stdout 3>&1 >/dev/null  
some words to stdout

答案 1 :(得分:1)

只要使用指向终端模拟器的/dev/tty,无论重定向如何。

#!/bin/sh

echo this line go to the possibly redirected stdout 
echo this line shows up on the screen > /dev/tty