vimsystem
函数的文档说明了第二个参数:
当给出 {input} 时,这个字符串被写入一个文件并作为标准输入传递给命令。
我从中了解到的是,如果您的system
电话看起来像这样:
call system('node something.js --file', 'here is some text')
执行的命令如下所示:
node something.js --file some/temp/file
并将some/temp/file
文本here is some text
作为其内容。为了测试这一点,我运行了 vim 命令(第二行是结果):
:echo system('cat', 'here is some text')
here is some text
好的,看起来不错。第二个测试:
:echo system('echo', 'here is some text')
<blank line>
我没有得到一些临时文件的名称,而是得到了一个空行。process.argv
此外,当我在我的 node.js 脚本中打印时,我只得到['node', 'path/to/something.js', '--file']
.
{input}
关于如何使用论点,我缺少什么?为什么它似乎适用于cat
,但不适用于echo
我自己的脚本?