code: def do_help(self, arg):
          
          if not arg:
              Cmd.do_help(self, arg)
          elif arg in ('?', 'help'):
              # An easter egg :)
              print("  Help! I need somebody...")
              print("  Help! Not just anybody...")
              print("  Help! You know, I need someone...")
              print("  Heeelp!")
          else:
              if arg == '*':
                  commands = self.get_names()
                  commands = [ x for x in commands if x.startswith('do_') ]
              else:
                  commands = set()
                  for x in arg.split(' '):
                      x = x.strip()
                      if x:
                          for n in self.completenames(x):
                              commands.add( 'do_%s' % n )
                  commands = list(commands)
                  commands.sort()
              print(self.get_help(commands))
docs: ? - show the list of available commands
          ? * - show help for all commands
          ? <command> [command...] - show help for the given command(s)
          help - show the list of available commands
          help * - show help for all commands
          help <command> [command...] - show help for the given command(s)