2017-06-15 8 views
0

ノード指揮官を使用してコマンドラインインタフェースを作成していますが、引数内で単一引用符を解析することに固執しています。私はドキュメントとStackOverflowを検索し、決定的なものは見つけられませんでした。ノード指揮官との引用符の解釈

一重引用符を含む引数を渡す方法はありますか?シンプルさのために使用される次のプログラム(クレジットhere、と

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

、機能:私は左てる私は作品を知っている抽象化


は、実行中のCLIであります例):

#!/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です。

答えて

1

アポストロフィをエスケープする必要があります。これは動作します:

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

これは、「引用強い」と呼ばれるものの作品。あなたはそれについてもっと読むことができますhere

引用強いが、これは同様に動作することを意味します:

node test.js command "value's values"

+0

うーん!私には恥ずべきです。私はこれを広範なプログラムで試してみましたが、そこではうまくいきませんでしたが、コマンドの引数を解析するのではなく、実際のコマンドを作成したスクリプトに問題があるように見えます。ありがとう! –

関連する問題