【问题标题】:parsing quotes with node commander使用节点指挥官解析引号
【发布时间】:2017-06-15 21:38:49
【问题描述】:

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

有没有办法传入包含单引号的参数?


抽象出我所知道的工作,我剩下的是一个正在运行的 CLI:

node test.js command 'value''s values'

使用以下程序(信用here,用于一个简单的功能示例):

#!/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);

结果是User passed values values,它缺少参数第一个单词的单引号。所需的输出是User passed value's values

【问题讨论】:

    标签: node.js command-line-interface node-commander


    【解决方案1】:

    您需要转义撇号。这将起作用:

    node test.js command 'value'\''s values'

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

    强引用意味着这也可以:

    node test.js command "value's values"

    【讨论】:

    • 嗯!真丢脸——我用更广泛的程序试过这个,但它在那里不起作用,但看起来这是创建实际命令的脚本的问题,而不是解析命令的参数.谢谢!
    猜你喜欢
    • 2016-05-10
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 2017-10-03
    • 2014-12-06
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    相关资源
    最近更新 更多