이 코드는:
#!/bin/sh
set -euo pipefail # strict mode
fn() {
local out=$(echo hello && false)
echo "out=$out"
}
fn
파이프라인이 실패해도 멈추지 않습니다 echo hello && false
. 그러나 local
제거하면 중지됩니다. 배쉬를 사용하세요.
이 변수가 로컬 변수라는 사실이 오류 처리에 중요한 이유는 무엇입니까? 글을 쓸 때 지역 변수 할당이 실패하게 만드는 방법은 무엇입니까?