Tôi đã có một kịch bản thử nghiệm chạy một ứng dụng nhỏ hơn và hơn nữa với các đầu vào khác nhau:Ngăn chặn bash từ in thông điệp “<PID> Aborted”
# 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
này là tất cả tốt và tốt, trừ khi nó không thành công tôi nhận được hai thông điệp, các 'LỖI' thông điệp mà tôi muốn, và sau đó khác (rõ ràng từ bash?) cảnh báo với tôi rằng ứng dụng của tôi đã bị hủy bỏ:
test_script.sh: line 10: 641 Aborted ./my_app $input1 $input2
ERROR: app failed with inputs: XXX YYY
làm thế nào để ngăn chặn những thông điệp 'đã hủy bỏ'?
Cũng lưu ý: Ứng dụng có thể không thành công trên tuyên bố 'khẳng định' của thư viện C chuẩn.
Điều này không giải quyết được câu hỏi của bạn, nhưng thông báo lỗi nên chuyển sang stderr, do đó, tiếng vọng của bạn nên được chuyển hướng. ví dụ. 'echo' ERROR ... "> & 2 ' –