如何在Node.js中执行以下操作?我意识到可能没有内置的功能或编写的模块,所以我如何实现这一点?
>>> import shlex
>>> shlex.split("-a arga -b "argument b" arg1 arg2")
['-a', 'arga', '-b', 'argument b', 'arg1', 'arg2']
我假设您已经搜索过http://npmjs.org(要么搜索,要么浏览shell关键字),而不是假设不存在这样的东西。例如,快速浏览一下,像shell-quote
这样的各种包似乎可以做你想做的事情,而像nshell
这样的其他包似乎要么依赖于类似shlex
的库,要么在内部有等效的代码,但我还没有详细研究过它们,所以我愿意接受没有任何你可以使用的东西。
让所有的细节正确是复杂的。但幸运的是,Python的shlex.split
的源代码是用纯Python编写的,并且具有一定的可读性。所以,你应该能够移植它。
如果您这样做,理想情况下还应该构建一个良好的测试套件,并将其作为npm
包发布,以便下次其他人查看时,将存在于http://npmjs.org。
我已经完成了shlex
到Node.js的基本端口:https://www.npmjs.com/package/shlex
shell-quote
似乎被放弃了,有几个开放的问题和pull请求,但作者在一段时间内没有回应它们。