如何将交互式脚本的输出重定向到文件和控制台?

问题描述 投票:0回答:1

我有一个与版本控制软件(clearcase)一起使用的复杂的交互式脚本。

用户根据脚本的提示选择/键入选项。

目标是将所有内容(脚本输出、提示和用户输入)保存到文件中以供进一步处理。 例如,行

perlscript | tee output.tmp

显示 Perl 脚本的前两个打印,然后(可能在从版本控制系统提取信息时)执行停止(没有任何反应)并且没有任何内容写入文件。 外壳是csh。

是否可以在不更新/扩展 perlscript 的情况下完成?

unix csh
1个回答
1
投票

您可以使用

script
命令捕获整个会话的日志。

只需输入:

 script <logfilename> 

在正常运行脚本之前。完成后,输入

exit
关闭日志文件。

如果您想将其合并到脚本中,您可以创建一个包装脚本来运行它,如下所示:

#!/bin/bash
script "My_logfile" my_script

这将创建日志文件并运行

my_script
。当脚本结束时,日志文件将关闭。

© www.soinside.com 2019 - 2024. All rights reserved.