我正在尝试将变量传递给 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 can only bundle one file at a time
我将问题追查到路径中的空格。
但是,这两种方法都有效:
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 必须处理的问题,还是根本不可能使用其中包含空格的路径作为变量的参数?
最佳答案
您需要在将变量传递给 rollup
时引用变量:
rollup --input "$MY_INPUT" --ouput "$MY_OUTPUT"
这是因为这些变量包含空格,shell 将其解释为多个参数。通过使用双引号引用,值将被解释为单个字符串。
请注意,如果您将 Bash 脚本复制粘贴到 http://www.shellcheck.net/# 上,它会指出这样的问题。
关于bash - 将 bash 变量传递给 rollup.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328521/