code: def to_string(self, shell=None):
          '''Use the command executor to retrieve the text of the scrim script
          compatible with the provided shell. If no shell is provided, use
          :attr:`scrim.shell`.
  
          Attributes:
              shell (str): Which shell should we return a script for
                  cmd.exe, powershell.exe, bash...
  
          Returns:
              str
          '''
  
          shell = shell or self.shell
          lines = []
          for c in self.commands:
              text = self.command_executor(c, shell)
              if text is not None:
                  lines.append(text)
  
          return '\n'.join(linesf to_string(self, shell=None):
          '''Use the command executor to retrieve the text of the scrim script
          compatible with the provided shell. If no shell is provided, use
          :attr:`scrim.shell`.
  
          Attributes:
              shell (str): Which shell should we return a script for
                  cmd.exe, powershell.exe, bash...
  
          Returns:
              str
          '''
  
          shell = shell or self.shell
          lines = []
          for c in self.commands:
              text = self.command_executor(c, shell)
              if text is not None:
                  lines.append(text)
  
          return '\n'.join(lines)
docs: Use the command executor to retrieve the text of the scrim script
          compatible with the provided shell. If no shell is provided, use
          :attr:`scrim.shell`.
  
          Attributes:
              shell (str): Which shell should we return a script for
                  cmd.exe, powershell.exe, bash...
  
          Returns:
              str