代码之家  ›  专栏  ›  技术社区  ›  lapots

在不影响操作系统环境的情况下执行shell命令

  •  0
  • lapots  · 技术社区  · 4 年前

    我使用CloudFoundry CLI。它允许执行诸如推送应用程序、创建服务等操作。 但是,在执行其命令时,它会使用当前登录用户的凭据和空格。

    我使用的所有shell命令都是这样的

    def exec_cmd(*args, **kwargs):
        proc = subprocess.run(args, check=True, **kwargs)
        return proc.stdout.decode('utf-8').strip() if kwargs.get('capture_output', False) else None
    

    然后做类似的事情 exec_cmd('cf', 'curl' ...) .

    然而,当进行以下操作时 push 等等。它使用的环境 cf 我试图改变 space 例如,为所有终端会话更改它。

    如何在不影响全球国家的情况下独立运行它?(我之所以需要这个,是因为常规的python API不如CF CLI那样完整,而且不太方便)

    0 回复  |  直到 4 年前
        1
  •  2
  •   Dr Nic    4 年前

    您可以设置 $CF_HOME 为凭证/空间等设置单独的文件。

    从文档 https://docs.cloudfoundry.org/cf-cli/getting-started.html :

    登录后,cf CLI将保存一个config.json文件,其中包含API端点、组织、空间值和访问令牌。

    如果更改这些设置,config.json文件将相应地更新。

    默认情况下,config.json位于~/.cf目录中。您可以使用CF_HOME环境变量重新定位config.json文件。

    推荐文章