将命令输出从另一个控制台写入文件加控制台

时间:2015-08-12 12:53:45

标签: shell terminal io-redirection

我正在开发一个脚本,我必须从命令行运行它(比如T1)。脚本必须打开另一个终端(T2),并且必须将此终端(T2)的输出重定向到文件,以便我可以从主脚本(T1)解析文件。我知道如何从主终端(T1)打开一个新终端(T2)。

gnome-terminal -e "ant" 2>&1 

我也知道如何使用tee

将命令输出发送到文件加控制台
 ls | tee /home/xyz.txt

所以我尝试从T1运行T2并将T2的输出重定向到xyz.txt:

gnome-terminal -e "ant" 2>&1 | tee /home/xyz.txt

然而xyz.txt没有从T2获得输出。 那么如何从T1获得T2的输出到xyz.txt?

1 个答案:

答案 0 :(得分:2)

虽然这听起来很复杂,看起来像https://en.wikipedia.org/wiki/ISO_3166-2:IT#Provinces,但这是一种方法(用xterm而不是gnome-terminal测试)。

gnome-terminal -e "ant | tee $(tty) xyz.txt; read dummy"

tty命名启动终端的终端设备,而不是新终端。 read是可选的,等待ENTER,以便您查看终端显示屏上的内容。