bash - 将 bash 变量传递给 rollup.js

标签 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 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/

相关文章:

bash - 将索引列添加到 CSV 文件

bash - 从目录及其子目录中删除所有文件类型

javascript - 在 Rollup 构建的 Electron 应用程序中导入 Ramda 会导致错误

javascript - JS : karma rollup empty bundle

python - 如果在等待 `read -s` 时中断,在子进程中运行 bash 会破坏 tty 的标准输出?

git - 您如何使用存储删除然后恢复非索引更改,而不会在 git 中发生 merge 冲突?

linux - BASH 中的基本 Shell 脚本

javascript - 为什么复制 eval 会改变它的行为?

reactjs - 无法读取 null 的属性(读取 'useContext' )

javascript - Electron 应用程序上的意外 token 导入