我最近遇到了这篇文章,它说可以使用shebang强制脚本在屏幕上运行。我的问题是,如果我想重新连接到现有的屏幕会话(从而强制脚本在屏幕下运行),该怎么做。
所以,在我的服务器上,当我做screen -list
时,我看到:
There is a screen on:
22566.myscreen (10/26/13 23:47:09) (Detached)
1 Socket in /var/run/screen/S-admin.
现在,我有以下 bash 脚本,我希望 bash 脚本与上面的屏幕会话一起运行。目前,我有这样的东西:
#!/usr/bin/screen -r "myscreen" /bin/bash
# /home/foo/jobscripts/script.sh
#
echo $STY
git status
touch /home/foo/jobscripts/testsuccess.txt
exit 0
。但这显然不起作用,并告诉我Error: Unknown option r "myscreen" /bin/bash
想知道是否有办法在 shebang 中指定以重新附加到我的上述屏幕。
对于 Linux,我认为我们应该使用类似 pid.sessionname
的东西。
对于其他类Unix操作系统,也可能像这样指示TTY pid.tty.sessionname
。
可以肯定的是,请查阅屏幕手册页:man screen