![获取父 gnu 屏幕的会话名称](https://linux22.com/image/604211/%E8%8E%B7%E5%8F%96%E7%88%B6%20gnu%20%E5%B1%8F%E5%B9%95%E7%9A%84%E4%BC%9A%E8%AF%9D%E5%90%8D%E7%A7%B0.png)
我知道可以使用环境变量访问当前会话名称$STY
,有没有办法在嵌套屏幕的情况下获取父屏幕会话的会话名称?
答案1
我不相信这是可能的;这$STY
确实是获取此信息的唯一地方,旧值被嵌套屏幕屏蔽了。您可以将其重命名screen
为screen-real
并将其替换为执行如下操作的 shell 脚本:
#!/bin/sh
if [ "$STY" ]; then
export PARENT_STY=$STY
fi
exec $0-real "$@"
这将使您能够访问嵌套屏幕内的 $PARENT_STY,但它仅适用于单层嵌套。如果您真的想要,您可以变得更加复杂(例如,将其视为PARENT_STY
列表并附加值),但这似乎不值得付出努力。