解析ubuntu中的.cfg文件

问题描述 投票:-2回答:1

怎么解析?我有一个:

configs.cfg

[django]
SECRET_KEY=!bq0%%mv)u&v6=hm#)^*fpn+cg7(*4xmce=-06@_7ob$aq7my+i
LATEST_RESULTS_KEY=bQeShVmYq3t6w9z8C&FxJDNcRfUjWnZr
URL=http://example:8002
SECRET_TOKEN=ABC123
COMPANY=abc

[rabbitmq]
RABBITMQ_DEFAULT_USER=user
RABBITMQ_DEFAULT_PASS=pass
RABBITMQ_DEFAULT_VHOST=abc
RABBITMQ_HOST=rabbitmq

entry point.是

celery -A project worker -l info -Q project1 --broker=amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOST}:5672/{RABBITMQ_DEFAULT_VHOST}-n project1@%h &
celery -A project worker -2 info -Q project --broker=amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@${RABBITMQ_HOST}:5672/{RABBITMQ_DEFAULT_VHOST}-n project2@%h

是否有可能当我运行entrypoint.sh时,它会将变量的值作为我的celery命令的选项?

python linux shell
1个回答
-1
投票

将此行添加到entrypoint.sh:

source <(sed -e 's/=/="/' -e 's/$/"/' -ne '/=/p' config.cfg)

前两个sed表达式在值周围添加双引号,以避免在两个_KEY变量中出现特殊shell字符时出现的错误。最后一个正则表达式使用等号过滤行。

© www.soinside.com 2019 - 2024. All rights reserved.