我知道当前的会话名称可以通过$STY环境variables进行访问,有没有办法在嵌套屏幕的情况下获得父屏幕会话的会话名称?
我不相信这是可能的。 $STY是真正获得这个信息的唯一地方,而且旧值被嵌套屏幕掩盖了。 您可以将screen重命名为screen-real ,并将其replace为执行如下操作的shell脚本:
#!/bin/sh if [ "$STY" ]; then export PARENT_STY=$STY fi exec $0-real "$@"
这会让你在一个嵌套的屏幕内访问$ PARENT_STY,但是它只能用于单层嵌套。 如果你真的希望你可以变得更加复杂(例如,把PARENT_STY当成一个列表并PARENT_STY ),但这似乎不值得。