Python 如何为crontab设置嵌套的(类似json的)环境变量
我有一些环境变量,比如Python 如何为crontab设置嵌套的(类似json的)环境变量,python,docker,cron,environment-variables,Python,Docker,Cron,Environment Variables,我有一些环境变量,比如 VAR1={'key1': 5, 'key2': 8} 或VAR1=“{'key1':5,'key2':8}” 在用作环境变量的脚本中使用。我想在一个.env文件中使用它,以便与cron作业一起使用,如下所示: * * * * * /etc/.env python script.py > src/out.log 该脚本使用上述环境变量示例。当我在docker容器中使用它并为docker指定环境变量时,它也可以工作 但是,环境变量的语法在与cron一起使用时似乎不
VAR1={'key1': 5, 'key2': 8}
或VAR1=“{'key1':5,'key2':8}”
在用作环境变量的脚本中使用。我想在一个.env文件中使用它,以便与cron作业一起使用,如下所示:
* * * * * /etc/.env python script.py > src/out.log
该脚本使用上述环境变量示例。当我在docker容器中使用它并为docker指定环境变量时,它也可以工作
但是,环境变量的语法在与cron一起使用时似乎不起作用。为什么会这样?
为什么这个语法对于普通的python脚本和docker是正确的,而对于cron则不正确
cron正在输出:
.env: 1: 5,} not found
我认为你必须这样写:
* * * * * /bin/bash -c "/etc/.env python script.py > src/out.log"
错误消息似乎在执行
/etc/.env
文件。环境变量是在.env文件中还是在操作系统上?您还可以尝试VAR1='{“test1”:1,“test2”:2}'
,然后json.loads(os.getenv('VAR1'))
它位于.env文件中。我正在加载变量,比如soprintenv>/etc/.env
,但这仍然不起作用。