我想了解如何将bash输入解析为参数。
例如,在NodeJS中使用process.argv
,我们可以获得一个字符串数组(但这与语言无关)。
我的问题是,如何将类似"node foo.js --foo "bar baz" -b foo"
的输入解析为类似于process.argv
(或其他语言中的等效项)返回的数组(例如["node", "foo.js", "--foo", "\"bar baz\"", "-b", "foo"]
)?
由于存在引号,仅按空格拆分是不够的。是否可以使用更复杂的正则表达式来处理引号并获取这样的数组?
process.argv
这样的数组。但我想做的是让它内部接受字符串(像这个例子中的 bash 命令)并将它们转换为数组。 - Ionică Bizău