【发布时间】:2010-10-27 19:41:02
【问题描述】:
我想编写一个脚本,让我直接进入另一个盒子上的 python shell,这样我就不必先运行 ssh 再运行 python。
当我执行“ssh hostname python”时,它只是挂起 - 这与 python 是交互式的事实有关。 “ssh hostname cat x”工作正常。
是否有一些 ssh 选项可以完成这项工作?
【问题讨论】:
我想编写一个脚本,让我直接进入另一个盒子上的 python shell,这样我就不必先运行 ssh 再运行 python。
当我执行“ssh hostname python”时,它只是挂起 - 这与 python 是交互式的事实有关。 “ssh hostname cat x”工作正常。
是否有一些 ssh 选项可以完成这项工作?
【问题讨论】:
ssh -t user@host python
-t 标志强制 ssh 为连接分配一个伪终端。如果在 ssh 命令行上给出命令,通常它不会这样做,这会导致 python 以非交互模式运行。
【讨论】:
其实想通了,我需要做 ssh -t hostname python
【讨论】:
您需要 -t 选项来强制分配伪 tty
ssh -t host python
【讨论】: