首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Capistrano中处理输入提示的正确方式?

在Capistrano中处理输入提示的正确方式?
EN

Stack Overflow用户
提问于 2013-03-03 20:15:12
回答 1查看 525关注 0票数 2

处理由我通过Capistrano运行的命令触发的输入提示的正确方式是什么?

我使用aptitude安装的iptables-persistent包就是一个例子。尽管有--no-gui标志,但仍然会出现一个提示,要求我确认我想要如何配置。

有没有办法通过命令行传递参数来避免这样的提示?

EN

回答 1

Stack Overflow用户

发布于 2013-11-23 09:24:40

我从以下位置找到并能够实现这个非常有用的handle_command_with_input方法:

https://github.com/nesquena/cap-recipes/blob/master/lib/cap_recipes/tasks/utilities.rb

代码语言:javascript
复制
def handle_command_with_input(local_run_method, shell_command, input_query, response=nil)
send(local_run_method, shell_command, {:pty => true}) do |channel, stream, data|
  if data =~ input_query
    if response
      logger.info "#{data} #{"*"*(rand(10)+5)}", channel[:host]
      channel.send_data "#{response}\n"
    else
      logger.info data, channel[:host]
      response = ::Capistrano::CLI.password_prompt "#{data}"
      channel.send_data "#{response}\n"
    end
  else
    logger.info data, channel[:host]
  end
end
end

这些代码都不是我写的。谢谢,内斯奎纳。

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

https://stackoverflow.com/questions/15185530

复制
相关文章

相似问题

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