首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向工作站发送发送Capistrano任务的消息?

如何向工作站发送发送Capistrano任务的消息?
EN

Stack Overflow用户
提问于 2010-11-24 10:59:08
回答 1查看 5.4K关注 0票数 3

如果我从工作站执行cap deploy,如何指定在配方运行时在工作站的控制台中显示自定义反馈?

这让我感到困惑,因为Capistrano在部署机器(或服务器)上运行它的“任务”,所以run 'echo "this is my message"'只会出现在服务器的控制台中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-24 11:36:05

不能只使用put/print吗?

Shell命令

无论如何,如果您需要在发出任务的工作站中运行命令,则应该使用反引号运算符。甚至Capistrano文档也推荐使用它。请参阅此page底部的“注意事项”部分。

引用:

运行帮助器可能不适合运行不需要远程执行的命令。在这种情况下,使用反引号(`)可能更合适。

反引号操作符执行系统命令并将输出返回给您。例如,如果您想要执行echo "this is my message",您应该这样做:`echo "this is my message"`

这将调用echo“系统命令”,并将输出返回给:"this is my message\n"。但它不会将其打印到控制台,而这正是您想要的。

要打印它,您应该使用:puts `echo "this is my message"`

但这是多余的,您不妨直接调用But或print。

有关在this link中执行外壳命令的更多信息,请参见Ruby.

Puts和打印

Puts和print将一条消息打印到运行Ruby代码的控制台。这似乎就是您想要实现的目标。在您的情况下,您应该这样做:

代码语言:javascript
复制
puts "this is my message"
# or, depending on what you want
print "this is my message"

puts类似于print,但它在字符串的末尾添加了一个新行。这一点:

代码语言:javascript
复制
puts "my message"

与以下内容相同:

代码语言:javascript
复制
print "my message\n"

有关某些文档,请访问以下链接:

  • print
  • puts

不管怎样,

只要使用puts "this is my message",就会很开心。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4263094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档