在SSHkit-Github上,它说:
所有后端都支持执行(* args),test(* args)&捕捉(*参数)
从SSHkit-Rubydoc开始,我了解execute
实际上是test
的别名?
Capistrano / SSHKit 中的test
,execute
,capture
之间的区别是什么?我应该何时使用?
答案 0 :(得分:8)
<强>执行强>
只是执行命令。
非0
退出会引发错误。
<强>测试强>
方法与execute
完全相同但是如果命令以true
出口退出,则返回布尔值{0
,否则返回false
。它通常用于任务中的控制流程。
<强>捕获强>
method将在第一个匹配的服务器上执行该命令,并将该命令的stdout
输出作为字符串返回。 stderr
输出将被忽略(使用ls 2>&1
将stderr重定向到stdout)。
非0
退出会引发错误。