我运行以下 shell 命令:
nvim +CheckHealth +'w ~/Desktop/file.txt' +qall
这会调用nvim
( Neovim ) 并告诉它连续运行三个命令:
CheckHealth
验证常见错误。它在缓冲区中运行。w ~/Desktop/file.txt
将相同的缓冲区保存到文件中。qall
关闭所有缓冲区。
我正在尝试从 ruby 运行它,使用system
. 如果我将它作为单个参数运行,它可以正常工作:
system("nvim +CheckHealth +'w ~/Desktop/file.txt' +qall")
但是,如果作为多个参数运行,它会失败(它运行但不输出文件):
system("nvim", "+CheckHealth", "+'w ~/Desktop/file.txt'", "+qall")
我究竟做错了什么?注意我不是要求解决方法。我有一个解决方法,即将它作为单个参数运行。我的问题是为什么它在作为多个参数运行时不起作用?我在误解什么system
?