如何让 bash 执行文件中的所有命令 (cygwin)

How to get bash to execute all commands in a file (cygwin)

我有以下命令:

xterm -display :4.0 -e /bin/bash -l /home/script.txt

Script.txt 包含(敏感内容已更改):

#!/bin/bash
set -x
ssh -XY user@255.255.255.0
program &
sleep 3s

现在,当我 运行 在 windows CLI 中执行上述命令时,它会打开一个 xterm 并通过 SSH 连接,要求输入密码。输入密码后,它停止执行。我 set -x 查看正在执行的内容,它只执行到 SSH 连接然后停止。

知道发生了什么事吗?

所以您希望它在 ssh 主机上执行您的 program &,但是如果您这样调用它,ssh 并不知道这一点,只会为您打开一个会话。

您可以将命令附加到 ssh 调用,例如

ssh -XY user@255.255.255.0 'program &'

不确定你想在哪里睡觉,可能在 ssh 之外?