gpt4 book ai didi

Python子进程执行远程服务器命令

转载 作者:行者123 更新时间:2023-12-01 01:33:35 24 4
gpt4 key购买 nike

我必须执行驻留在远程计算机中的 python 脚本,并且我正在使用以下脚本:

from subprocess import call
ip = 1.1.1.1
call(["ssh", ip, "\"cd scripts; python -u get_details.py --web_server\""])

出现以下错误:

bash: cd scripts; python -u get_details.py --web_server: command not found

直接在bash命令行中运行:

 ssh 1.1.1.1 "cd scripts; python -u get_details.py --web_server"

询问以下输入并返回输出

 1. USA
2. UK
Choose input: 1

www.cisco_us.com is up

请告诉我如何修复或任何其他更好的方法来在 python 中实现此目的

最佳答案

您需要删除引号,因为 shell 会删除它们。这:

ssh 1.1.1.1 "cd scripts; python -u get_details.py --web_server"

相当于:

call(["ssh", ip, "cd scripts; python -u get_details.py --web_server"])

如果您以这种方式使用call,则客户端不涉及 shell(这是一件好事),而只涉及服务器端。

关于Python子进程执行远程服务器命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52590363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com