diff --git a/headscale-auto-register.sh b/headscale-auto-register.sh index cc24d4a..4857657 100755 --- a/headscale-auto-register.sh +++ b/headscale-auto-register.sh @@ -562,18 +562,24 @@ EOF # 성공 여부 먼저 확인 if ! echo "$RESPONSE" | grep -q '"success":true'; then - echo -e "${RED}✗ 약국 생성 실패${NC}" + echo -e "${RED}✗ 약국 생성 API 실패${NC}" + echo -e "${YELLOW}[응답 내용]${NC}" echo "$RESPONSE" return 1 fi - # pharmacy_code 추출 (순수 bash - tr + sed 사용) - # JSON을 한 줄로 만든 후 파싱 (다중 라인 JSON 대응) - PHARMACY_CODE=$(echo "$RESPONSE" | tr -d '\n' | sed 's/.*"pharmacy_code": "\([^"]*\)".*/\1/') + # pharmacy_code 추출 (순수 bash - grep 사용) + # 방법: grep으로 pharmacy_code 라인 찾고, sed로 값 추출 + PHARMACY_CODE=$(echo "$RESPONSE" | grep '"pharmacy_code"' | sed 's/.*"pharmacy_code":[[:space:]]*"\([^"]*\)".*/\1/' | head -1) + # 추출 실패 시 디버깅 정보 출력 if [ -z "$PHARMACY_CODE" ]; then echo -e "${RED}✗ pharmacy_code 추출 실패${NC}" + echo -e "${YELLOW}[원인] JSON 파싱 에러${NC}" + echo -e "${YELLOW}[응답 내용]${NC}" echo "$RESPONSE" + echo -e "${YELLOW}[추출 시도 결과]${NC}" + echo "$RESPONSE" | grep '"pharmacy_code"' return 1 fi