将标准输入拆分为文件和终端
split stdin into file and terminal
我正在寻找一种方法将用户键盘输入拆分为 terminal/shell (csh) 到一个文件中。例如,如果用户键入:
>make all
>echo bla
在键盘上,然后我希望它像往常一样显示在终端中,并写入文件中。 (即文件将包含 "make all""echo bla")
如何在 csh/bash 中执行此操作?
尝试tee logfile | yourprogram
。它将输出保存到 logfile
并将其传递给 yourprogram
。
例如,尝试运行 tee logstdin | /bin/bash 1>logstdout 2>logstderr
并输入以下命令:
make all
echo bla
exit
(input something else or just Ctrl+D)
现在,logstdin
包含:
make all
echo bla
exit
logstdout
文件是:
bla
而 logstderr
对我来说如下:
make: *** No rule to make target `all'. Stop.
我正在寻找一种方法将用户键盘输入拆分为 terminal/shell (csh) 到一个文件中。例如,如果用户键入:
>make all
>echo bla
在键盘上,然后我希望它像往常一样显示在终端中,并写入文件中。 (即文件将包含 "make all""echo bla")
如何在 csh/bash 中执行此操作?
尝试tee logfile | yourprogram
。它将输出保存到 logfile
并将其传递给 yourprogram
。
例如,尝试运行 tee logstdin | /bin/bash 1>logstdout 2>logstderr
并输入以下命令:
make all
echo bla
exit
(input something else or just Ctrl+D)
现在,logstdin
包含:
make all
echo bla
exit
logstdout
文件是:
bla
而 logstderr
对我来说如下:
make: *** No rule to make target `all'. Stop.