import subprocess from typing import Optional import logging logger = logging.getLogger(__name__) def execute_bash_command(command: str) -> Optional[str]: command_result = subprocess.run(command, shell=True, capture_output=True) try: command_result.check_returncode() return command_result.stdout.decode("utf-8") except subprocess.CalledProcessError: logger.warning(f"failed executing command: {command}") logger.warning(f"return code was: {command_result.returncode}") logger.warning(f'stdout was: {command_result.stdout.decode("utf-8")}') logger.warning(f'stderr code was: {command_result.stderr.decode("utf-8")}') return None