是否可以在putty中使用远程命令选项运行多个命令?

时间:2015-06-16 03:05:14

标签: linux bash ssh putty server-administration

我想在服务器登录时自动运行多个命令,如sudo bash,ssh server01,ls,cd / tmp等。 我在putty中使用SSH下的远程命令选项。

我尝试使用分隔符和&&amp ;;但没有工作。

enter image description here

4 个答案:

答案 0 :(得分:1)

您的问题中缺少一些信息。

您说要运行sudo bash,然后ssh server01

sudo会在远程服务器中提示输入密码吗?

假设sudo中没有密码,运行bash将打开另一个等待用户输入的shell。在退出该bash shell之前,命令ssh server01将不会运行。

如果您想运行2个命令,请先尝试更简单的命令:

ls -l /tmp ; echo "hi there"

或者如果您愿意:

ls -l /tmp && echo "hi there"

这有用吗?

如果你想要的是在运行bash后运行ssh,你可以尝试:

sudo bash -c "ssh server01"

答案 1 :(得分:0)

这可能是因为该命令应该是一个程序名后跟参数,它们将直接传递给程序。为了获得&&和命令行解释器(如bash)提供的其他功能,请尝试以下操作:

/bin/bash -c "command1 && command2"

答案 2 :(得分:0)

我尝试了我在之前的回答中提出的建议。

可以在用分号分隔的putty中运行2个简单命令。在我的例子中,我尝试使用ls和echo。远程服务器运行它们,然后会话关闭。

我还尝试过ssh到配置为不要求密码的远程服务器。在这种情况下,它也可以工作,我连接到第二台服务器,我可以在其上运行命令。退出时,2个连接关闭。

所以,请告诉我们你真正需要/想要的东西。

答案 3 :(得分:-1)

您可以使用常规shell语法在PuTTY中执行两个连续命令。例如。使用;&&

但是你想在ssh server01 shell中执行sudo bash,对吧?

这些不是两个连续的命令,它在ssh server01内执行了sudo bash命令。

所以你必须使用sudo命令行语法来执行ssh server01,比如

sudo bash ssh server01