我正在尝试编写一个脚本,使GNU screen调用virtualenvwrapper的workon
命令,根据屏幕会话名称跳转到现有的virtualenv。
我已经设法在会话开始时使其工作,但我希望每次创建窗口时都能运行命令,而且我找不到挂钩或任何类似的挂钩。
每次在会话中创建窗口时,屏幕是否允许运行命令?
答案 0 :(得分:1)
尝试将逻辑放入~/.profile
(如果使用deflogin on
设置)或~/.mkshrc
(或类似,具体取决于您的shell)文件。像这样:
if test -n "$STY"; then
# we are inside GNU screen
screenpid=${STY%%.*}
screenname=${STY#*.}
# do your magic
fi
在这种情况下,$screenname
将包含传递给GNU屏幕的-S
选项的名称,或者ttyp0.shorthostname
或pts-9.shorthostname
(取决于操作系统)如果没有使用-S
。