Node.js 使用node commander解析引号

Node.js 使用node commander解析引号,node.js,command-line-interface,node-commander,Node.js,Command Line Interface,Node Commander,我正在使用node commander编写一个命令行界面,并且一直在解析参数中的单引号。我搜索了文档和StackOverflow,没有找到任何结论 是否有方法传入包含单引号的参数 抽象出我所知道的工作原理,剩下的是一个CLI,其中运行: node test.js command 'value''s values' 使用以下程序(学分,用于简单的功能示例): #/usr/bin/env节点 "严格使用",; const program=需要(“指挥官”); 程序 .版本('0.0.1') .c

我正在使用node commander编写一个命令行界面,并且一直在解析参数中的单引号。我搜索了文档和StackOverflow,没有找到任何结论

是否有方法传入包含单引号的参数


抽象出我所知道的工作原理,剩下的是一个CLI,其中运行:

node test.js command 'value''s values'
使用以下程序(学分,用于简单的功能示例):

#/usr/bin/env节点
"严格使用",;
const program=需要(“指挥官”);
程序
.版本('0.0.1')
.command('命令[可选]')
.操作(功能(请求,可选){
console.log('用户传递了%s',请求);
});
program.parse(process.argv);

结果是
用户传递的值
,它缺少参数第一个单词的单引号。所需的输出是
用户传递值的值

您需要转义撇号。这将有助于:

node test.js命令'value'\'s values'

这是因为所谓的“强引用”。你可以阅读更多关于它的内容

强引用意味着这也将起作用:


node test.js命令“value's values”

您需要转义撇号。这将有助于:

node test.js命令'value'\'s values'

这是因为所谓的“强引用”。你可以阅读更多关于它的内容

强引用意味着这也将起作用:

node test.js命令“value's values”

Hmm!真丢脸——我曾在更广泛的程序中尝试过这一点,但它在那里不起作用,但看起来这是创建实际命令的脚本问题,而不是命令参数的解析问题。谢谢隐马尔可夫模型!真丢脸——我曾在更广泛的程序中尝试过这一点,但它在那里不起作用,但看起来这是创建实际命令的脚本问题,而不是命令参数的解析问题。谢谢
#!/usr/bin/env node
'use strict';

const program = require('commander');
program
    .version('0.0.1')
    .command('command <req> [optional]')
    .action(function(req,optional){
        console.log('User passed %s', req);
    });
program.parse(process.argv);