考虑 ./my_script >/var/log/my_log
仅来自此脚本的单个 echo 语句必须转到标准输出。
这怎么可能实现?
考虑 ./my_script >/var/log/my_log
仅来自此脚本的单个 echo 语句必须转到标准输出。
这怎么可能实现?
所以我们有一些聪明的程序
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
只需使用/dev/tty
which 指向您的终端仿真器,而不管重定向。
#!/bin/sh
echo this line go to the possibly redirected stdout
echo this line shows up on the screen > /dev/tty