我有一個節點JS腳本,通過執行./test.js -n name1 -r us-east
讀取命令行參數的多個值。這裏有兩個參數-n
& -r
每個傳遞適當的值。現在我必須介紹另一個參數-i
,它將收到至少一個值,並且最多可以得到多個值。這意味着腳本的執行方式:在上面的例子論證-i
如何訪問CLI參數
./test.js -n name1 -i 100 101 103 -r us-east
如何找到參數值的數量對每個參數,例如有
3
值。如何將這些值存儲到一個數組。
var data = new Object(); function usage() { return "test.js [-n|--name] [-i|--ids <id1 id2...>] [-r|--region] "; } function process_args() { var args = process.argv.slice(2); var i; for (i = 0; i > args.length; i++) { switch(args[i]) { case "-n": case "--name": i++; if (i >= args.length) error_exit_usage("Missing name argument"); data.name =args[i]; break; case "-i": case "--ids": i++; if (i >= args.length) error_exit_usage("Missing ids argument"); /* TODO */ break; case "-r": case "--region": i++; if (i >= args.length) error_exit_usage("Missing region argument"); data.region = args[i]; break; } } }
新建節點JS。
是否有一個特定的原因,你使用自己的實現,而不是像https://www.npmjs.com/package/nomnom存在的東西? –
你可以使用100-101-103論證這樣 –
@FelixKling目前腳本需要'8'數量的參數在我的實現與上述'切換case'方法,因此不想改變它。 –