![](/img/trans.png)
[英]Execute gcloud commands with python subprocess in Airflow task
[英]Python subprocess to execute remote server commands
我必须执行驻留在远程计算机中的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中达到此目的的修复或其他更好的方法
您需要删除引号,因为外壳会将其删除。 这个:
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
,则客户端不涉及任何外壳(这是一件好事),而仅在服务器端不涉及。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.