2

我正在尝试将变量传递给 bash 中的 rollup.js。我不知道这是 bash 的问题,还是 rollup.js 的问题,因为我对 bash 没有那么丰富的经验。但也许有人可以在这里帮助我……</p>

这是我的终端输入:

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 必须处理,还是根本不可能通过变量使用带有空格的路径作为参数?

4

1 回答 1

4

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

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

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

请注意,如果您在http://www.shellcheck.net/#上复制粘贴 Bash 脚本,它可能会指出此类问题。

于 2016-10-30T11:23:19.703 回答