【每日一记】npm script 后面跟随的 "--参数" 被丢弃了如何处理

149

具体表现

在执行下面的命令时,--myoption会被 npm script 丢弃

npm run mycommand --myoption

如图所示

bash--1

这就会导致实际执行的mycommand.js接收不到参数

解决办法

--myoption前加上--,效果如图

bash--2

原因

  1. -或者--开头的值会被当做 npm script 的参数,而它又没有处理它们的部分,因此这些参数会被丢弃
  2. --myoption前加的--在 bash 中被称为“配置项参数终止符”,用法举例如下
# echo 命令用来输出字符,比如
echo help # help

# 如果我想要输出 --help,直接在echo 后面加上--help的话,会输出echo命令的帮助文档
# 此时就需要 -- 出场了

echo -- --help # --help

# 也就是说 配置项参数终止符 后面跟随的值会被当成纯文本直接传递给命令

参考资料

阮一峰 Bash 脚本入门 - 配置项参数终止符

原文地址