code: def eval(self):
          
          eval = []
          for part in self.parts:
              try:
                  result = part.eval()
              except AttributeError:
                  result = part
              if result[-1] != '\n':
                  result += ' '
              eval.append(result)
          return ''.join(eval).strip()
docs: Evaluate the given job and return a complete shell script to be run
          by the job manager.