在PuTTY中启动SSH连接,运行命令,并保持会话处于活动状态
每次通过PuTTY SSH连接到服务器时,我都想运行一些shell命令。我正在连接到由其他人管理的生产web服务器,我不想在那里存储我自己的脚本在PuTTY中启动SSH连接,运行命令,并保持会话处于活动状态,ssh,putty,Ssh,Putty,每次通过PuTTY SSH连接到服务器时,我都想运行一些shell命令。我正在连接到由其他人管理的生产web服务器,我不想在那里存储我自己的脚本 我看到了选项Connection>SSH>Remote Command,但是如果在启动会话后将初始化命令放在那里,它会在命令执行后立即关闭。如何运行远程命令,然后保持会话打开,以便继续使用它?一个选项是设置putty远程命令,如下所示: ls > dir.ls & /bin/bash 在此示例中,您要运行的命令是“ls>dir.ls”,
我看到了选项Connection>SSH>Remote Command,但是如果在启动会话后将初始化命令放在那里,它会在命令执行后立即关闭。如何运行远程命令,然后保持会话打开,以便继续使用它?一个选项是设置putty远程命令,如下所示:
ls > dir.ls & /bin/bash
在此示例中,您要运行的命令是“ls>dir.ls”,它创建了包含目录列表内容的文件dir.ls
当您想让shell保持打开状态时,您可以添加传统命令“/bin/bash”或您选择的任何其他shell。命令完成后,SSH会话立即关闭(并用它填充)。默认情况下,“命令”是一个shell。由于您已覆盖此默认“命令”,但仍希望运行shell,因此您必须自己显式执行shell:
my-command ; /bin/bash
另请参见。谢谢!通过打开外壳来完成命令是我需要的线索。我添加了
;bash
在我的“远程命令”字符串的末尾(您的&/bin/bash
也可以工作),以启动bash并保持连接打开。当我退出bash时,Putty窗口也会像我预期的那样关闭,这很好。使用&
,您可以与shell并行运行命令。在这种情况下,您通常不想要什么。您通常希望使用改为在shell之前运行命令。请参阅。@MartinPrikryl您的评论是正确的,但当运行需要更多时间的命令时,可能需要并行运行,而不需要一直等到命令结束。