Có lẽ một câu hỏi đơn giản nhưng một giải pháp thanh lịch không đến với tâm trí. Tôi muốn chạy một loạt các lệnh (mỗi một lệnh là một thử nghiệm) và trả về 1 nếu bất kỳ lệnh nào trong số chúng trả về không khác. Thông thường tôi sẽ làm điều gì đó như:Bash thất bại nếu bất kỳ lệnh nào thất bại nhưng vẫn chạy tất cả các lệnh
thingA && thingB && thingC
exit $?
Tuy nhiên, điều đó sẽ không chạy thingC nếu thingB không thành công và tôi muốn đảm bảo tất cả 3 đều chạy. Tôi có thể dễ dàng nghĩ ra cách tiếp cận không phù hợp:
final_result=0
retval=thingA
if [[ $retval != 0 ]] then
final_result=1
fi
retval=thingB
...
exit $final_result
Có cách nào đơn giản, thanh lịch để có được những gì tôi muốn không?
Điều đó sẽ hiệu quả, cảm ơn bạn. – Pace