如何解析?我有一个:
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
entrypoint.sh
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命令的选项?
答案 0 :(得分:-1)
将此行添加到entrypoint.sh:
source <(sed -e 's/=/="/' -e 's/$/"/' -ne '/=/p' config.cfg)
前两个sed表达式在值周围添加双引号,以避免在两个_KEY变量中出现特殊shell字符时可能出现的错误。最后一个正则表达式使用等号过滤行。