You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH命令链中attach screen会话失败的问题求助

解决SSH远程执行命令时Screen会话内命令不运行的问题

原命令的问题在于:screen -r会接管终端进入交互式会话,后续的MyFinalCommand只会在你退出Screen会话后才会执行,而不是在Screen内部运行。以下是几种可行的解决方法:

方法1:向已存在的Screen会话发送命令(无需attach)

使用Screen的-X参数向运行中的会话发送命令,无需进入会话即可执行操作:

ssh {login}@{server} "cd /Where/I/Need/To/Be; screen -S MyScreenSession -X stuff 'MyFinalCommand\n'"
  • -S指定目标会话的名称(需和已创建的会话名一致)
  • -X表示向运行中的Screen会话发送指令
  • stuff用于向会话输入内容,末尾的\n模拟回车键触发命令执行

方法2:先执行命令再attach会话

如果需要attach到会话查看执行结果,可以先发送执行命令的指令,再进入会话:

ssh -t {login}@{server} "cd /Where/I/Need/To/Be; screen -r MyScreenSession -X exec MyFinalCommand; screen -r MyScreenSession"
  • -t强制SSH分配伪终端,保证Screen能正常attach到会话
  • -X exec会在Screen会话的当前窗口执行指定命令,之后attach就能看到命令执行的状态或结果

方法3:attach时自动执行命令(适合需留在会话操作的场景)

如果希望attach到会话后自动执行命令并停留在会话中,可以用以下命令:

ssh -t {login}@{server} "cd /Where/I/Need/To/Be; screen -r MyScreenSession -X stuff 'MyFinalCommand\n'; exec screen -r MyScreenSession"

该方法会先触发命令执行,再进入会话,方便后续继续操作。

内容的提问来源于stack exchange,提问作者FiReTiTi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:10:29