code: def check_files(
      files: List[str],
  ) -> List[LintMessage]:
      try:
          proc = run_command(
              ["shellcheck", "--external-sources", "--format=json1"]
              + files
          )
      except OSError as err:
          return [
              LintMessage(
                  path=None,
                  line=None,
                  char=None,
                  code=LINTER_CODE,
                  severity=LintSeverity.ERROR,
                  name="command-failed",
                  original=None,
                  replacement=None,
                  description=(
                      f"Failed due to {err.__class__.__name__}:\n{err}"
                  ),
              )
          ]
      stdout = str(proc.stdout, "utf-8").strip()
      results = json.loads(stdout)["comments"]
      return [
          LintMessage(
              path=result["file"],
              name=f"SC{result['code']}",
              description=result["message"],
              line=result["line"],
              char=result["column"],
              code=LINTER_CODE,
              severity=LintSeverity.ERROR,
              original=None,
              replacement=None,
          )
          for result in results
      ]
  
file_path: pytorch/tools/linter/adapters/shellcheck_linter.py
imports: import argparse
  import json
  import logging
  import shutil
  import subprocess
  import sys
  import time
  from enum import Enum
  from typing import List, NamedTuple, Optional
label_desc: Use image node_id 2 for calling a global function with example usage: check_files(files) and returns: unknown, list