语境
给定 AWS 的 Elastic Beanstalk 上的一个简单节点应用程序(如eb-node-express-sample)和如下默认nodecommand.config
文件:
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: npm start
问题
如何调用多个 bash 命令来代替npm start
?我希望能够做到以下几点:
NodeCommand: echo 'Hello' && npm start
或者:
NodeCommand: |
echo 'Hello'
npm start
但似乎第一个单词之后的所有内容实际上都是作为单个参数传入的,导致以下输出/var/log/nodejs/nodejs.log
:
'Hello' && npm start
'Hello' && npm start
'Hello' && npm start
...
# Logged repeatedly as the server tries and fails to start,
# apparently invoking `echo "'Hello' && npm start"` each time...
有没有办法绕过这个愚蠢的限制并直接运行多个 bash 命令?
动机
start
我有一个 Lerna 应用程序,它在根目录中没有任何有用的脚本,而是start
在packages/api/
. 我在这里特别需要能够在运行之前更改目录start
,但我正在寻找一个通用解决方案来解决运行多个命令的问题。