generate-sbom.sh: 재시도 로그의 unbound variable 버그 수정

"실패 \$nf개" — \$nf 뒤에 중괄호 없이 한글이 바로 붙어 있어, LANG=C.UTF-8 로케일에서
bash가 변수명 경계를 잘못 인식해 "nf<한글 바이트>: unbound variable"로 죽었다
(set -u). 로컬에서 flowise 차트 SBOM 생성 중 실제로 재현됨 — SBOM 생성 자체(6/6
성공)는 끝난 뒤 재시도 필요 여부를 보고하는 로그 문장에서만 발생해 데이터 손상은
없었다. \${nf}개 로 중괄호 처리해 고쳤다. 같은 패턴(바인딩 안 된 \$var 뒤에 한글이
구분자 없이 붙는 경우)이 다른 파이프라인 스크립트에도 있는지 전수 검색했고 이
한 곳뿐이었다.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
wbsong111
2026-08-04 11:22:21 +09:00
parent 9b76b6f2a1
commit d714667f81
+1 -1
View File
@@ -129,7 +129,7 @@ while [ "$attempt" -lt "$RETRIES" ]; do
<(awk -F'\t' '$2=="OK"{print $1}' "$RESULTS" | sort -u))" <(awk -F'\t' '$2=="OK"{print $1}' "$RESULTS" | sort -u))"
nf="$(printf '%s\n' "$FAILED" | grep -c .)" nf="$(printf '%s\n' "$FAILED" | grep -c .)"
[ "$nf" -eq 0 ] && { echo ">> [$(ts)] 재시도할 실패 없음" | tee -a "$LOG" >&2; break; } [ "$nf" -eq 0 ] && { echo ">> [$(ts)] 재시도할 실패 없음" | tee -a "$LOG" >&2; break; }
echo ">> [$(ts)] 재시도 $attempt/$RETRIES — 실패 $nf개 (parallel=$RETRY_PARALLEL)" | tee -a "$LOG" >&2 echo ">> [$(ts)] 재시도 $attempt/$RETRIES — 실패 ${nf} (parallel=$RETRY_PARALLEL)" | tee -a "$LOG" >&2
printf '%s\n' "$FAILED" \ printf '%s\n' "$FAILED" \
| xargs -P "$RETRY_PARALLEL" -I{} bash "$SELF" --gen-one {} "$SBOM_DIR" "$LOG" \ | xargs -P "$RETRY_PARALLEL" -I{} bash "$SELF" --gen-one {} "$SBOM_DIR" "$LOG" \
>> "$RESULTS" >> "$RESULTS"