diff --git a/backupbot.py b/backupbot.py index b87da42..540b78b 100755 --- a/backupbot.py +++ b/backupbot.py @@ -127,9 +127,12 @@ def run_commands(commands): for container, command in commands.items(): if not command: continue + # Remove bash/sh wrapping + command = command.removeprefix('bash -c').removeprefix('sh -c') + # Remove quotes surrounding the command + if (len(command) >= 2 and command[0] == command[-1] and (command[0] == "'" or command[0] == '"')): + command[1:-1] # Use bash's pipefail to return exit codes inside a pipe to prevent silent failure - command = command.removeprefix('bash -c \'').removeprefix('sh -c \'') - command = command.removesuffix('\'') command = f"bash -c 'set -o pipefail;{command}'" logging.info(f"run command in {container.name}:") logging.info(command)