我经常同时处理多个项目,并在完成某项工作后最终运行一些长时间的测试或回归。我通常加一个mail -s "foo" id < /dev/null
最后知道任务何时结束,这样我就不必坐下来进行长时间的测试或回归。
我试图自动执行此操作,在这种情况下,我不必每次都键入邮件,只需调用一个脚本(将其别名化为更少的字符 - 优化我键入的数量),然后脚本计算出测试/从 cwd 回归并发送电子邮件。我认为在电子邮件中发送终端标题或屏幕 session 名称会很有用。有什么方法可以提取终端标题或 Linux 屏幕窗口名称?
最佳答案
您可以在 $STY
中找到附加的屏幕 session 名称(如果您需要,可以在 $WINDOW
中找到窗口编号):
$ echo "$STY"
6367.sessionname
可以通过tty
找到唯一标识的tty/pty设备:
$ tty
/dev/pts/34
标题等是 xterm 的特性,而不是终端本身的特性,因此终端程序很难推导它。
下面是一个使用以上两者来显示屏幕名称(如果有)或 tty 设备的示例:
mail -s "${STY:-$(tty)} done" < /dev/null
Screen 还有一个“等待静默”功能,当其他 Screen 窗口中的进程停止输出时,您可以收到通知。
关于linux - 如何获取终端属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28905623/