Shell 如何使GNU screen在每次创建新窗口时运行命令或脚本?
我正在尝试编写一个脚本,使call virtualenvwrapper的Shell 如何使GNU screen在每次创建新窗口时运行命令或脚本?,shell,gnu-screen,Shell,Gnu Screen,我正在尝试编写一个脚本,使call virtualenvwrapper的workon命令根据屏幕会话名称跳转到现有的virtualenv 我已经设法让它在会话启动时工作,但我希望每次创建窗口时都能运行命令,而我找不到钩子或类似的东西 屏幕是否允许每次在会话中创建窗口时都运行命令?尝试将逻辑放入~/.profile(如果使用deflogin on设置)或~/.mkshrc(或类似文件,取决于shell)文件中。大概是这样的: if test -n "$STY"; then # we
workon
命令根据屏幕会话名称跳转到现有的virtualenv
我已经设法让它在会话启动时工作,但我希望每次创建窗口时都能运行命令,而我找不到钩子或类似的东西
屏幕是否允许每次在会话中创建窗口时都运行命令?尝试将逻辑放入
~/.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
。太棒了,应该这样做了,我会尝试一下(我使用zsh,所以这将进入我的.zshrc)。非常感谢!