Node.js的Shlex Split Equivalent

时间:2013-01-08 00:54:09

标签: python node.js shlex

我如何在Node.js中执行以下操作?我意识到可能没有内置功能或编写模块,所以我该如何实现呢?

>>> import shlex
>>> shlex.split("-a arga -b \"argument b\" arg1 arg2")
['-a', 'arga', '-b', 'argument b', 'arg1', 'arg2']

2 个答案:

答案 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似乎被抛弃了,有一些未解决的问题和请求请求,但是作者已经有一段时间没有对此做出回应了。