Ssh 等待一个屏幕-X东西“;脚本“;结束
我有一个Ssh 等待一个屏幕-X东西“;脚本“;结束,ssh,gnu-screen,Ssh,Gnu Screen,我有一个屏幕实例在远程机器上运行。我想在该屏幕上执行如下命令: ssh serverIp screen-S remote-p0-X stuff\”/build.sh^M“ rsync-arvcL serverIp:/path/to/build.log build.log build.sh脚本调用远程设备上的一些make命令,并将其输出(使用tee)保存到某个文件中(我们称之为build.log)。然后我想把build.log下载到我的本地机器上 我如何等待/buils.sh在远程上完成,以便下
屏幕
实例在远程机器上运行。我想在该屏幕上执行如下命令:
ssh serverIp screen-S remote-p0-X stuff\”/build.sh^M“
rsync-arvcL serverIp:/path/to/build.log build.log
build.sh
脚本调用远程设备上的一些make
命令,并将其输出(使用tee
)保存到某个文件中(我们称之为build.log
)。然后我想把build.log
下载到我的本地机器上
我如何等待
/buils.sh
在远程上完成,以便下载完整的构建.log
?您可以等待构建脚本完成后创建的文件
差不多
开始构建。sh
#!/bin/bash
./build.sh
touch build.done
然后该命令看起来像:
ssh server 'rm -f build.done; screen -S remote -X stuff "./start-build^M"; while [ ! -f build.done ]; do sleep 1; done'
首先,它删除一个旧的build.done
文件,然后在屏幕内启动构建。然后(在屏幕外)等待文件
build.done
存在。嘿,谢谢你的建议。我已经用fifo管道做了类似的事情,它也能工作,但我正在寻找一种更“干净”的方法