在bash shell和ssh shell中加载JSON varenv
上下文 我在本地部署METEOR应用程序,我的开发人员通过bash脚本部署它们。 应用程序依赖于作为环境variables加载的简单string,但有一个特殊的string包含整个JSON对象。 我想要的是 我正在寻找一种方法来在上下文中共享相同的环境variables,shell bash和通过SSH启动的脚本。 我试过了 我创build了一个通用文件: 猫〜/ config.env PATH=/home/team/.nvm/versions/node/v6.11.0/bin/:/usr/local/bin:/usr/bin:/bin ROOT_URL=https://team.example.com MONGO_URL=mongodb://team:<password>@localhost/team_db1 BIND_IP=127.0.0.1 PORT=3001 METEOR_SETTINGS={"ENV":"prod","migration":{"gamification":"0"},"cron":{"enable":"1"},"mongo":"",… } 我把这个文件和ssh环境联系起来: ln -s〜/ config.env〜/ .ssh / environment 我在〜/ .bashrc中find了相同的文件 source ~/config.env 我面对什么问题 JSONstring的引号解释有问题。 这个configuration适用于ssh: ssh [email protected] env METEOR_SETTINGS={"ENV":"prod","migration":{"gamification":"0"},"cron":{"enable":"1"} … 但是这在当地并不适用 源码config.env ENV METEOR_SETTINGS={ENV:prod,migration:{gamification:0},cron:{enable:1}, … 所有的双引号消失,使JSON对象本地无效。 如果我单引号所有的string,JSON对象在本地有效,但单引号出现在string通过SSH使它无效远程。 题 我怎样才能正确加载我的JSON var在2环境?