linux - 如何获取终端属性

标签 linux shell terminal

我经常同时处理多个项目,并在完成某项工作后最终运行一些长时间的测试或回归。我通常加一个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/

相关文章:

c++ - 我的操作系统中的 mykernel.iso 执行错误

python - 在 python 中通过数据库正确调用和使用 Linux find

java - Linux 命令 "logname"在 Java 中不起作用

bash - 在 Mac 上使用脚本更改主机文件

c++ - 自己的lib,另一台电脑: cannot open shared object file: No such file or directory

linux - 我如何使用 linux bash 命令计算用户分组的用户 session ?

linux - printf '\x41\n' 的输出 | Makefile 中的 cat 与 shell 中的输出不同

php - 无所事事的权限 Symfony

java - 运行位于服务器上并映射为 U ://dirver on windows from windows in java application? 的 unix shell 脚本

terminal - 如何解码APDU上终端与芯片之间的通信?