desc “Execute remote commands” task :console do
stage = fetch(:stage) puts I18n.t("console.welcome", scope: :capistrano, stage: stage) loop do print "#{stage}> " command = (input = $stdin.gets) ? input.chomp : "exit" next if command.empty? if %w{quit exit q}.include? command puts t("console.bye") break else begin on roles :all do execute command end rescue => e puts e end end end
end