运行分离的屏幕会话但在同一个bash中没有终止

前端之家收集整理的这篇文章主要介绍了运行分离的屏幕会话但在同一个bash中没有终止前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这里已经有很多这样的问题了,但是每个人都推荐(以下的解决方案)以下解决方案:
screen -dmS somename bash -c "/path/to/script; bash -l"

例如当脚本结束时,运行一个新的bash.

不幸的是,这对我不起作用,因为

>该脚本使用$BASHPID变量
>脚本运行永远运行,例如需要用CTRL-C终止它
>并且终止后我必须拥有与运行脚本相同的shell(相同的$BASHPID)

所以,问题是:

>如何以分离模式启动屏幕(例如,在启动时) – 通常由-dm完成
>它必须启动shell

>最好,如果它可以作为“登录”shell启动,例如什么读取我的.profile,但这可以通过脚本本身的源〜/ .profile来克服
>脚本启动一些其他(二进制)程序将运行到CTRL-C

>并且在脚本终止之后我必须获得相同的bash(使用相同的$BASHPID(因为需要运行另一个脚本,这取决于它)

总之需要模拟以下互动工作:

>开始屏幕
> echo $BASHPID
>在屏幕内运行一些命令(最后一个命令运行直到CTRL-C) – 例如运行/ path / to / script
>分离(ctrl-a d)

经过上述,以后,我可以做到

>重新连接(屏幕-ARR)
> CTRL-C
>并且可以继续…同样的
> echo $BASHPID #will产生与上面相同的内容

任何的想法? (考虑-X但它不起作用,某处我可能犯了错误)

看起来
the answer here
是给你的用例.简而言之:
bash --init-file <(echo "yourcommand")
原文链接:https://www.f2er.com/bash/385699.html

猜你在找的Bash相关文章