我想通过如下所示的python脚本执行某些ssh命令序列,(并希望显示最后一条命令的输出)
ssh hostname
sudo su userdb
cd /some/path/
./script_file -D option
我已经尝试过subprocess.Popen(each_command_from_list)。
但是使用ssh连接到主机名后,它会卡住。
import subprocess
commands = ["ssh hostname", "sudo su userdb", "cd /some/path/", "./script_file -D option"]
for cmd in commands:
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
proc_stdout = process.communicate()[0].strip()
if cmd.startswith("./script_file"):
print(proc_stdout)
我希望脚本应使用ssh连接到主机名,然后在该主机中运行命令,并应获得结果。