我需要为脚本自动完成。
在bash中,我可以运行类似complete -W 'foo bar baz' my_script
的内容,它可以正常运行
但是当我尝试在ruby中运行此命令时,我得到Errno::ENOENT: No such file or directory - complete
Ruby代码可能是:
`complete -W 'foo bar baz' my_script`
exec "complete -W 'foo bar baz' my_script"
system "complete -W 'foo bar baz' my_script"
使用open3,open4,IO我得到了相同的结果
答案 0 :(得分:0)
我不知道你想从中实现什么,但由于complete
是一个bash功能,你需要使用bash运行你的shell命令,即bash -c complete ...
。
是否必须使用system(....)
或反引号,取决于您要对结果执行的操作。你不太可能真的想要exec
,不过......