我正在运行一个 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 退出捕获会话