【问题标题】:Is it possible to get the raw process.argv input in NodeJS是否可以在 NodeJS 中获取原始 process.argv 输入
【发布时间】:2018-12-08 02:27:22
【问题描述】:

我需要将原始 NodeJS process.argv 转发给子进程。我遇到的问题是 process.argv 正在从原始参数中删除引号。

假设我的机器上有以下可执行文件:

  • /some/random/path/bin/executable1;
  • /some/random/path/bin/executable2;
  • /some/random/path/bin/executable3;

我正在使用 Node 为这些创建别名。

  • alias.js executable1
  • alias.js executable2
  • alias.js executable3

现在,假设我执行alias.js executable1 -c"this is my input"process.argv 返回:

[ '-cthis is my input']

这使我无法像最初输入的那样传递参数。可以通过 NodeJS 访问原始输入吗?

【问题讨论】:

    标签: node.js argv


    【解决方案1】:

    这是在将输入传递给应用程序之前由 shell 完成的。引号用于防止 shell 将空格解释为指示下一个字符串是新参数。

    根据您使用的 shell,您可以使用 \ 转义引号。但是,在您的示例中,您需要在输入周围加上引号来包装您的参数,因为它包含空格。您可以使用 \ 转义在字符串中找到的任何引号,并假设赋予参数的值始终包含在引号中,这不会是错误的。

    很难想象您需要引号的情况,因为它们已经达到了确保整个值在正确的参数位置传递的目的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-01
      • 2013-02-09
      • 2020-03-27
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多