将应用程序的 bash 脚本输出重定向到文件,保持应用程序交互

将应用程序的 bash 脚本输出重定向到文件,保持应用程序交互

我正在运行一个 bash 脚本,希望偶尔有用户输入以继续处理该脚本。是否可以将脚本输出重定向到文件,同时保持终端输出并保持应用程序交互,即响应我的按键?

答案1

tee就是为此目的而设计的。我写了脚本sc

##!/bin/bash
while [[ $x != "X" ]] ; do
        printf "? "
        read x
        echo "User wrote: $x"
done

然后运行如下:

$ ./sc | tee f
? The first line
User wrote: The first line
? another line
User wrote: another line
? X
User wrote: X
$ cat f
? User wrote: The first line
? User wrote: another line
? User wrote: X

相当粗糙和准备就绪,但它展示了如何tee关闭文件。

答案2

您可以在 下运行该命令,这将为您捕获script文件中的完整输出。typescript请参阅man script其他选项

script
your_command...

使用 Ctrl/D 退出捕获会话

相关内容