Consider the following file:
APP_ENV=production
APP_NAME=Some API <- This line HERE
RDS_DB_PASSWORD=Some_Strong_Password
// etc...
This file is auto-generated by AWS Elastic Beanstalk for my environments i.e. I have no control over the formatting of the contents.
When the application runs, it passes the environment variables internally and this works fine. However, when I try to run Laravel commands like the following, it does not escape the contents of each variable:
export $(sudo cat /opt/elasticbeanstalk/deployment/env) && sudo -E -u webapp php artisan some-command
As a result, the value Some API
gets passed as Some
instead because it has not been wrapped with quotes.
Is there a way to insert quotes around the values that come after the first =
in this file on the fly and then pass them to my web app? Alternatively, am I running my commands incorrectly? Given this is Laravel specific, there are no docs on how to run Laravel commands on Elastic Beanstalk running Amazon Linux 2.