Capistrano中执行,测试和捕获命令有什么区别?

lak*_*are 5 ruby capistrano sshkit

SSHkit-Github上它说:

所有后端都支持执行(*args),test(*args)和capture(*args)

SSHkit-Rubydoc,我理解execute实际上是一个别名test吗?

是什么区别test,execute,captureCapistrano酒店/SSHKit以及何时应该使用要么?

lak*_*are 10

执行 只执行命令.非0退出时引发错误.

test 方法的行为完全相同,execute但它返回boolean(true如果命令以0退出退出,false否则).它通常用于任务中的控制流程.

capture 方法将在第一个匹配的服务器上执行该命令,并将stdout该命令的输出作为字符串返回.stderr输出将被忽略(用于ls 2>&1将stderr重定向到stdout).非0退出时引发错误.