gpt4 book ai didi

ruby-on-rails - 如何向发布 Capistrano 任务的工作站发送消息?

转载 作者:行者123 更新时间:2023-12-04 06:10:19 25 4
gpt4 key购买 nike

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

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

最佳答案

你不能只使用 puts/print 吗?

外壳命令

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

引用:

The run helper may not be appropriate for running commands which do not need to be executed remotely. In such instances, it may be more appropriate to utilize the backtick (```) instead.

反引号运算符执行系统命令并将输出返回给您。例如,如果你想执行 echo "this is my message",你可以这样做:`echo "this is my message"`

这将调用回显“系统命令”,并将输出返回给:“这是我的消息\n”。但它不会将其打印到控制台,这正是您想要的。

要打印它,您应该使用:puts `echo "this is my message"`
不过那是多余的,你还不如直接调用puts或者print。
参见 this link有关在 Ruby 中执行 shell 命令的更多信息。

放置并打印

Puts and print 向运行 Ruby 代码的控制台打印一条消息。这似乎是你想要达到的目标。在你的情况下,你应该这样做:

puts "this is my message"
# or, depending on what you want
print "this is my message"

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

puts "my message"

与此相同:

print "my message\n"

对于某些文档,请点击以下链接:

无论如何

只需使用 puts "this is my message" 就可以了。

关于ruby-on-rails - 如何向发布 Capistrano 任务的工作站发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4263094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com