Mam skrypt testowy, który prowadzi małą aplikację w kółko z różnymi wejściami:Prevent bash od drukowania komunikatów „<PID> przerwana”
# test_script.sh
for input1 in $some_range; do
for input2 in $some_other_range; do
if ! ./my_app $input1 $input2 2>/dev/null; then
echo "ERROR: app failed with inputs: $input1 $input2"
fi
done
done
To wszystko jest dobrze, z wyjątkiem, gdy nie powiedzie się mam dwie wiadomości, komunikat „błąd” Chcę, a potem jeszcze (podobno od bash?) ostrzegając mnie, że moja aplikacja została przerwana:
test_script.sh: line 10: 641 Aborted ./my_app $input1 $input2
ERROR: app failed with inputs: XXX YYY
Jak mogę zapobiec wyświetlaniu komunikatów „przerwana”?
Uwaga: Aplikacja prawdopodobnie zawodzi w standardowej instrukcji "asert" biblioteki C.
To nie odpowiada na twoje pytanie, ale komunikat o błędzie powinien przejść do stderr, więc twoje echo powinno zostać przekierowane. na przykład 'echo "ERROR ..."> & 2' –