我如何在Node.js中执行以下操作?我意识到可能没有内置功能或编写模块,所以我该如何实现呢?
>>> import shlex
>>> shlex.split("-a arga -b \"argument b\" arg1 arg2")
['-a', 'arga', '-b', 'argument b', 'arg1', 'arg2']
答案 0 :(得分:2)
我假设您已经搜索过http://npmjs.org(搜索或浏览shell关键字)而不是假设不存在此类内容。例如,快速浏览一下,像shell-quote
这样的各种软件包似乎可以做你想做的事情,像nshell
这样的其他软件包似乎可能依赖于类似shlex
的库或拥有内部的等效代码,但我实际上并没有详细查看它们中的任何一个,所以我愿意接受你可以使用的任何内容。
正确掌握所有细节很复杂。但幸运的是,Python shlex.split
的{{3}}是用纯Python编写的,并且具有相当的可读性。所以,你应该能够移植它。
如果你这样做,理想情况下你应该建立一个好的测试套件并将其作为npm
包发布,以便下次其他人看起来时,将存在于{{ 3}}
答案 1 :(得分:1)
我已经完成了shlex
到Node.js的基本端口:https://libraries.io/npm/shlex
shell-quote
似乎被抛弃了,有一些未解决的问题和请求请求,但是作者已经有一段时间没有对此做出回应了。