Bash 在两个SSH连接之后执行命令

Bash 在两个SSH连接之后执行命令,bash,unix,ssh,Bash,Unix,Ssh,我正在尝试将ssh连接到两个连续的服务器,然后在成功连接到第二个服务器后执行一个命令 我目前能够通过ssh背靠背连接到两台服务器,没有问题: ssh -t server1 ssh server2 系统会提示我输入server1的密码,然后使用授权密钥自动连接到server2 进入server2后,我想打开一个Jupyter笔记本:Jupyter笔记本 所以说得详细一点,如果我自己一行一行地执行,我想复制: ssh server1 ssh server2 jupyter notebook 以下

我正在尝试将ssh连接到两个连续的服务器,然后在成功连接到第二个服务器后执行一个命令

我目前能够通过ssh背靠背连接到两台服务器,没有问题:

ssh -t server1 ssh server2
系统会提示我输入server1的密码,然后使用授权密钥自动连接到server2

进入server2后,我想打开一个Jupyter笔记本:
Jupyter笔记本

所以说得详细一点,如果我自己一行一行地执行,我想复制:

ssh server1
ssh server2
jupyter notebook
以下是我尝试过的几件事:

尝试1

ssh -t server1 ssh server2 -t jupyter notebook
ksh: jupyter:not found
Connection to server2 closed
Connection to server1 closed
因此,我成功地在server2中运行,但运行命令失败。我想我需要做的是加载我的.bashrc文件,以便定义我到
jupyter
的路径。但我也没能成功做到这一点:

尝试2

ssh -t server1 ssh server2 -t source /filepath/.bashrc && jupyter notebook
ksh: .: syntax error at line 45: `(' unexpected
Connection to server2 closed.
Connection to server1 closed.
所以现在我认为我没有正确加载.bashrc。或者可能我的参数有问题,我不太确定。

这是一个“简单的引用问题”,因此命令在各自的服务器上是独立的:

ssh -t ujump 'ssh server1 -t "source /filepath/.profile && jupyter notebook"'
#                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (A)
#             ..............................................................(B)
命令(A)在服务器1上执行

命令(B)在ujump上执行

您的attempt1清楚地表明您正在远程运行ksh,因此加载.bashrc(attempt2)肯定不起作用。