我有一个 Procfile 包含:
someprocess: sh -c 'cd /Users/someuser/path/to/sinatra/app && rackup -p 4567'
我需要打破这条路径,以便通过环境变量对其进行配置。因此,我将此路径添加到存储在 .env 文件中的环境变量中:
SOME_DIR=/Users/someuser/path/to/sinatra/app
我告诉工头在运行时加载这些环境:
$ foreman start -f Procfile.dev -e .env
但是,这会导致错误,因为此环境变量在 shell 命令中不可用:
someprocess: sh -c SOME_DIR && rackup -p 4567'
产生错误:
sh: line 0: cd: SOME_DIR: No such file or directory
那么如何将环境变量传递给 shell 命令呢?