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