code: def select_command(corrected_commands):
      
      try:
          selector = CommandSelector(corrected_commands)
      except NoRuleMatched:
          logs.failed('No fucks given' if get_alias() == 'fuck'
                      else 'Nothing found')
          return
  
      if not settings.require_confirmation:
          logs.show_corrected_command(selector.value)
          return selector.value
  
      logs.confirm_text(selector.value)
  
      for action in read_actions():
          if action == const.ACTION_SELECT:
              sys.stderr.write('\n')
              return selector.value
          elif action == const.ACTION_ABORT:
              logs.failed('\nAborted')
              return
          elif action == const.ACTION_PREVIOUS:
              selector.previous()
              logs.confirm_text(selector.value)
          elif action == const.ACTION_NEXT:
              selector.next()
              logs.confirm_text(selector.value)
docs: Returns:
  
       - the first command when confirmation disabled;
       - None when ctrl+c pressed;
       - selected command.
  
      :type corrected_commands: Iterable[thefuck.types.CorrectedCommand]
      :rtype: thefuck.types.CorrectedCommand | None