Capistrano 中的执行、测试和捕获命令有什么区别?
What is the difference between execute, test and capture commands in Capistrano?
在 SSHkit-Github 上说:
All backends support the execute(*args), test(*args) & capture(*args)
从SSHkit-Rubydoc,我了解到execute
实际上是test
的别名?
Capistrano/SSHKit[=26=中的test
、execute
、capture
有什么区别] 我应该什么时候使用?
执行
只是执行命令。
使用非 0
退出引发错误。
测试
方法的行为与 execute
完全相同,但是它 return 是布尔值(true
如果命令以 0
退出,而 false
否则)。它通常用于控制任务中的流程。
捕获
方法将在第一个匹配的服务器上执行命令,并将 return 命令的 stdout
输出作为字符串。 stderr
输出将被忽略(使用 ls 2>&1
将 stderr 重定向到 stdout)。
使用非 0
退出引发错误。
在 SSHkit-Github 上说:
All backends support the execute(*args), test(*args) & capture(*args)
从SSHkit-Rubydoc,我了解到execute
实际上是test
的别名?
Capistrano/SSHKit[=26=中的test
、execute
、capture
有什么区别] 我应该什么时候使用?
执行
只是执行命令。
使用非 0
退出引发错误。
测试
方法的行为与 execute
完全相同,但是它 return 是布尔值(true
如果命令以 0
退出,而 false
否则)。它通常用于控制任务中的流程。
捕获
方法将在第一个匹配的服务器上执行命令,并将 return 命令的 stdout
输出作为字符串。 stderr
输出将被忽略(使用 ls 2>&1
将 stderr 重定向到 stdout)。
使用非 0
退出引发错误。