如果我从工作站执行cap deploy,如何指定在配方运行时在工作站的控制台中显示自定义反馈?
这让我感到困惑,因为Capistrano在部署机器(或服务器)上运行它的“任务”,所以run 'echo "this is my message"'只会出现在服务器的控制台中。
发布于 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代码的控制台。这似乎就是您想要实现的目标。在您的情况下,您应该这样做:
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",就会很开心。
https://stackoverflow.com/questions/4263094
复制相似问题