将bash变量传递给rollup.js

时间:2016-10-30 11:22:22

标签: bash rollupjs

我正在尝试将变量传递给bash中的rollup.js。 我不知道这是一个bash问题,还是rollup.js的问题,因为我对bash没有经验。但也许有人可以帮助我...

这是我的终端输入:

MY_INPUT="/path to my/input.js"
MY_OUTPUT="/path to my/output.js"
rollup --input $MY_INPUT --output $MY_OUTPUT

Rollup抛出错误:

  

汇总一次只能捆绑一个文件

我将问题追踪到路径中的空白区域。

然而,这两项工作都是:

rollup --input "/path to my/input.js" --output "/path to my/output.js"
rollup --input /path\ to\ my/input.js --output /path\ to\ my/output.js

当我使用变量时,问题才会发生。 我也试图逃避变量而不是把它放在括号中,但这也不起作用。

有没有办法让变量表现得像我想要的那样,是一个问题,rollup.js必须处理,或者根本不可能使用带有空格的路径作为变量的参数?

1 个答案:

答案 0 :(得分:4)

您需要在将变量传递给rollup时引用变量:

rollup --input "$MY_INPUT" --ouput "$MY_OUTPUT"

这是因为这些变量包含空格,shell将其解释为多个参数。通过引用双引号,值将被解释为单个字符串。

请注意,如果您在http://www.shellcheck.net/#上复制粘贴Bash脚本,则可以指出类似的问题。