Mel*_*emi 3 capistrano ruby-on-rails
如果我cap deploy从工作站执行,如何在配方运行时指定要在工作站的控制台中显示的自定义反馈?
这让我感到困惑,因为Capistrano在部署机器(或服务器)上运行其"任务",因此run 'echo "this is my message"'只会出现在服务器的控制台中.
你不能只使用puts/print吗?
无论如何,如果需要在发出任务的工作站中运行命令,则应使用反引号运算符.甚至Capistrano文档也推荐它.请参阅本页底部的"注意事项"部分.
引用:
运行助手可能不适合运行不需要远程执行的命令.在这种情况下,使用反引号("`")可能更合适.
反引号操作符执行系统命令并将输出返回给您.例如,如果要执行,则可以执行以下echo "this is my message"操作:`echo "this is my message"`
这会调用echo"系统命令",并将输出返回给你:"this is my message\n".但它不会将它打印到控制台,这是你想要的.
要打印它,你应该使用:puts `echo "this is my message"`
但这是多余的,你也可以直接调用put或print.
有关在Ruby中执行shell命令的更多信息,请参阅此链接.
Puts和print将消息打印到运行Ruby代码的控制台.这似乎是你想要实现的目标.在你的情况下,你应该这样做:
puts "this is my message"
# or, depending on what you want
print "this is my message"
Run Code Online (Sandbox Code Playgroud)
puts就像print,但它在字符串的末尾添加了一个新行.这个:
puts "my message"
Run Code Online (Sandbox Code Playgroud)
与此相同:
print "my message\n"
Run Code Online (Sandbox Code Playgroud)
对于某些文档,请访问以下链接:
只是使用puts "this is my message"和快乐.
| 归档时间: |
|
| 查看次数: |
5015 次 |
| 最近记录: |