【问题标题】:Using environmental variables in bash while executing python script?在执行python脚本时在bash中使用环境变量?
【发布时间】:2017-11-07 19:34:14
【问题描述】:

我在本地环境中导出了变量,并且需要将该变量传递给 bash 脚本,而 bash 脚本又需要使用该环境运行 python 脚本。

#!/usr/bin/env bash
export API_TOKEN=836176e9b6ce
sudo python script.py --pretty

现在我正在关注:

Could not find values for Program api_token.
They must be specified via either ini file, command line argument (--api-token),
or environment variables (API_TOKEN)

有可能实现吗?

【问题讨论】:

  • 不看script.py代码很难回答这个问题。您发布的消息是来自 bash 还是 python?你在 python 代码中阅读 API_TOKEN 吗?需要更多信息来回答这个问题。
  • @bluegreen - 是的,它正在读取 python 代码中的令牌 - 消息来自 python 脚本 - janos 建议的解决方案和标志修复了问题

标签: python bash environment-variables


【解决方案1】:

你在脚本中设置的环境没有传递给sudo执行的命令。要保留环境变量,请使用-E 标志:

#!/usr/bin/env bash
export API_TOKEN=836176e9b6ce
sudo -E python script.py --pretty

【讨论】:

    猜你喜欢
    • 2017-09-15
    • 2015-09-28
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    相关资源
    最近更新 更多