如何使用bash Tee将STDOUT和STDER重定向到脚本中的文件,该脚本中的屏幕上有屏幕



我有一个需要在屏幕上运行的脚本,所以我包括

#!/usr/bin/screen /bin/bash

作为哈希爆炸,它的效果很好。唯一的问题是,当脚本崩溃时,我不知道发生了什么,输出丢失了,我所知道的是屏幕终止。

我的脚本是互动的,因此我需要在终端中查看Stdout和stderr,并且我也希望stdout和stderr记录下来。

我试图像

一样运行脚本
./test-screen-in-bash.sh 2>&1|tee test1.log

导致一个空的test1.log文件

有人可以解释我做错了什么。

感谢@JID评论,我能够找到我想要的东西。

我从Hash Bang中删除了屏幕,并在第一个答案中使用了@Jid提供的链接中的方法。

我结束了

#!/bin/bash
if [ -z "$STY" ]; then exec screen -L /bin/bash "$0"; fi
./myscript.sh

现在,当我运行上述时,myScript.sh在屏幕上运行,并且会话中的整个输出被倾倒到screenlog.n文件。

相关内容

  • 没有找到相关文章

最新更新