Trong dự án của tôi, tôi có đoạn trích sau:
local output="$(bash "${1##*/}")"
echo "$?"
Điều này luôn luôn in số 0 local
, tuy nhiên, loại bỏ local
làm cho $?
biến hoạt động chính xác: đó là giả sử mã thoát khỏi lớp con.
Câu hỏi của tôi là: làm thế nào tôi có thể giữ biến này cục bộ trong khi cũng nắm bắt được giá trị thoát?
shellcheck
sẽ không chỉ nắm bắt được vấn đề này mà còn đề xuất giải pháp tại unix.stackexchange.com/a/281749/24718 !