gpt4 book ai didi

python - 是否可以使用 Fabric 将命令传递到交互式 shell?

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

我正在尝试通过 Fabric 自动执行以下操作:

  1. 通过 SSH 连接到远程主机。
  2. 执行 python 脚本(Django management command dbshell)。
  3. 将已知值传递给脚本生成的提示。

如果我手动执行此操作,它会像这样:

$ ssh -i ~/.ssh/remote.pem ubuntu@10.10.10.158
ubuntu@10.10.10.158$ python manage.py dbshell
postgres=> Password For ubuntu: _____ # i'd like to pass known data to this prompt
postgres=> # i'd like to pass known data to the prompt here, then exit

========

我当前的解决方案类似于:

from fabric.api import run
from fabric.context_managers import settings as fabric_settings

with fabric_settings(host_string='10.10.10.158', user='ubuntu', key_filename='~/.ssh/remote.pem'):
run('python manage.py dbshell')
# i am now left wondering if fabric can do what i'm asking....

最佳答案

已通过 Twitter 回复 Sean,但首先要查看的是 http://docs.fabfile.org/en/1.10/usage/env.html#prompts - 并不完美,但在某些情况下可能就足够了:)

即将推出的 v2 在管道中对此功能进行了更可靠的实现,并且理想情况下也将有空间提供更像 pexpect 的 API(意味着更面向串行的东西)作为选项。

关于python - 是否可以使用 Fabric 将命令传递到交互式 shell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755401/

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