【问题标题】:Run remote Python script via curl通过 curl 运行远程 Python 脚本
【发布时间】:2018-04-18 16:31:56
【问题描述】:

我有一个 Python 文件,我可以像这样在本地运行

script.py --ip=172.19.242.32 --mac=102030405060

现在我将脚本上传到我的虚拟机 IP:45.55.88.55

如何通过 cURL 调用脚本并传入正确的标志?

我试过了

curl 45.55.88.55/script.py  | python --ip=172.19.242.32 --mac=102030405060

curl 45.55.88.55/script.py --ip=172.19.242.32 --mac=102030405060  | python 

两者都不工作。我该如何进一步调试?

【问题讨论】:

  • 尝试使用ssh在远程服务器中执行脚本。
  • 有没有办法防止 ssh ?我可以与我的团队共享脚本,但不能访问我的虚拟机。我正在尝试创建一个分隔符
  • 您是否尝试将脚本存储在服务器上,但在本地运行?还是您也想在服务器上运行脚本?
  • 我想将脚本存储在远程虚拟机上,这样我就可以从其他虚拟机甚至本地运行。

标签: python bash curl wget


【解决方案1】:

参数位于脚本名称之后。要将标准输入用作脚本,请使用- 作为名称:

curl 45.55.88.55/script.py  | python - --ip=172.19.242.32 --mac=102030405060

这是一个非常标准的 Unix 参数约定,尽管并非所有程序都遵守它(主要是旧程序)。

【讨论】:

    【解决方案2】:

    正如@Barmar 正确所说,而不是运行

    curl 45.55.88.55/script.py  | python --ip=172.19.242.32 --mac=102030405060
    

    这会让你错过在你运行的任何脚本名称之后最需要的参数。这意味着您将需要短- 分隔符作为名称

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      • 2017-03-14
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多