gpt4 book ai didi

bash - Python 脚本手动工作,但不是来自 cron 作业

转载 作者:行者123 更新时间:2023-11-29 09:32:31 24 4
gpt4 key购买 nike

我有一个 Python 脚本,它从环境变量中获取一段数据,如下所示:

password = os.environ["SomePassword"]

当我手动运行脚本时,脚本按预期工作,但是当脚本在 shell 文件中并由 cron 作业运行时,它在该行失败并显示“KeyError”,我假设它没有找到变量。

此外,当我以运行 cron 作业的同一用户身份运行以下任何命令时,我会按预期看到变量。

echo $SomePassword
env
printenv

这是怎么回事,我该如何解决?

更新:我能够通过阅读建议的重复问题来解决此问题 - 但是,该问题并未描述其他人可能感兴趣的根本问题。

最佳答案

这是因为环境变量没有声明和赋值。

当您手动运行它时它会起作用,因为当您登录时,各种环境脚本会运行(例如 ~/.bashrc、~/.bash_profile,可能还有/etc/bashrc 之类的其他脚本)并且它们已经完成了此操作。

您可以通过创建一个简单的脚本来测试这一点,该脚本将所有环境变量保存到一个文件中并使用 cron 安排它。运行后,检查文件中的内容。

关于bash - Python 脚本手动工作,但不是来自 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50070773/

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