def change_quit(quit_command)
      raise Shells::NotRunning unless running?
      self.options = options.dup.merge( quit: quit_command ).freeze
      self
    end
def change_quit(quit_command)
      raise Shells::NotRunning unless running?
      self.options = options.dup.merge( quit: quit_command ).freeze
      self
    end
Initializes the shell with the supplied options.

 These options are common to all shells.
 +prompt+::
       Defaults to "~~#".  Most special characters will be stripped.
 +retrieve_exit_code+::
       Defaults to false. Can also be true.
 +on_non_zero_exit_code+::
       Defaults to :ignore. Can also be :raise.
 +silence_timeout+::
       Defaults to 0.
       If greater than zero, will raise an error after waiting this many seconds for a prompt.
 +command_timeout+::
       Defaults to 0.
       If greater than zero, will raise an error after a command runs for this long without finishing.
 +unbuffered_input+::
       Defaults to false.
       If non-false, then input is sent one character at a time, otherwise input is sent in whole strings.
       If set to :echo, then input is sent one character at a time and the character must be echoed back
       from the shell before the next character will be sent.

 Please check the documentation for each shell class for specific shell options.

 Allows you to change the :quit option inside of a session.

 This is useful if you need to change the quit command for some reason.
 e.g. - Changing the command to "reboot".

 Returns the shell instance.