Как отловить ошибки bash с subroccess в python?
Пишу небольшой скрипт, который должен последовательно выплнить несколько команд в bash
APPS = {
# name : command
'ttl=65': 'sysctl -w net.ipv4.ip_default_ttl=65',
'test': 'echo'
}
.
ERRORS = []
for app in APPS:
# to be more clear
name = app
command = APPS[app]
try:
subprocess.check_output(['/bin/bash', '-i', '-c', command])
except subprocess.CalledProcessError as e:
newError = {}
newError['where'] = name
newError['what'] = e
ERRORS.append(newError)
print(f'ERROR << {name}')
else:
print(f'ok << {name}')
.
# error log
if len(ERRORS) > 0:
print(f'{len(ERRORS)} errors occurred!')
if input('[l] for log') == 'l':
print('')
for e in ERRORS:
print(f'{e.where} << {e.what}\n')
примерно такой выход я получаю:

Что тут должно быть
- ошибка sysctl не должна выводиться (ее можно будет увидеть ток в логах(3 кусок кода))
- скрипт не должен останавливаться при встречи
input(именно на инпутах он стопится)
как мне это сделать?