Improve: Headscale auto-register script with better JSON parsing and output

주요 개선 사항:
- Python 없이 순수 bash(tr + sed)로 JSON 파싱
- 다중 라인 JSON 응답 대응 (tr -d '\n')
- pharmacy_code 추출 로직 개선
- 결과 요약 포맷 개선 (약국 코드, 약국명, 계정 정보 명확히 표시)
- VPN 정보 섹션 분리

기술적 변경:
- sed 's/.*"pharmacy_code": "\([^"]*\)".*/\1/' 패턴 사용
- Python 의존성 제거로 더 많은 환경에서 실행 가능
- 결과 출력 포맷 사용자 친화적으로 개선

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude 2025-11-14 11:31:51 +00:00
parent 987662f95b
commit 8a391cabd8

View File

@ -567,8 +567,9 @@ EOF
return 1
fi
# pharmacy_code 추출 (pharmacy 객체 내부)
PHARMACY_CODE=$(echo "$RESPONSE" | grep -oP '"pharmacy_code":"[^"]+' | cut -d'"' -f4 | head -1)
# pharmacy_code 추출 (순수 bash - tr + sed 사용)
# JSON을 한 줄로 만든 후 파싱 (다중 라인 JSON 대응)
PHARMACY_CODE=$(echo "$RESPONSE" | tr -d '\n' | sed 's/.*"pharmacy_code": "\([^"]*\)".*/\1/')
if [ -z "$PHARMACY_CODE" ]; then
echo -e "${RED}✗ pharmacy_code 추출 실패${NC}"
@ -628,22 +629,27 @@ EOF
# 로그인 정보 출력
display_login_credentials() {
USERNAME=$(echo "$PHARMACY_CODE" | tr '[:upper:]' '[:lower:]')
echo -e "\n${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${WHITE}🎉 설치 및 등록 완료!${NC}"
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "\n${GREEN}약국 정보:${NC}"
echo -e " 약국 코드: ${WHITE}$PHARMACY_CODE${NC}"
echo -e " 약국명: ${WHITE}$PHARMACY_NAME${NC}"
echo -e "\n${GREEN}=== 결과 요약 ===${NC}"
echo -e "약국 코드: ${WHITE}$PHARMACY_CODE${NC}"
echo -e "약국명: ${WHITE}$PHARMACY_NAME${NC}"
echo -e "생성된 계정: ${WHITE}$USERNAME${NC}"
echo -e "로그인 URL: ${WHITE}https://pharmq.kr${NC}"
echo -e "비밀번호: ${WHITE}12341234${NC}"
echo -e "\n${GREEN}VPN 정보:${NC}"
echo -e " VPN IP: ${WHITE}$VPN_IP${NC}"
[ -n "$HIRA_CODE" ] && echo -e " 요양기관부호: ${WHITE}$HIRA_CODE${NC}"
[ -n "$PHARMACY_ADDRESS" ] && echo -e " 주소: ${WHITE}$PHARMACY_ADDRESS${NC}"
[ -n "$PHARMACY_PHONE" ] && echo -e " 전화번호: ${WHITE}$PHARMACY_PHONE${NC}"
echo -e "\n${GREEN}프론트엔드 로그인 정보:${NC}"
echo -e " URL: ${WHITE}https://pharmq.kr${NC}"
echo -e " 아이디: ${WHITE}$(echo "$PHARMACY_CODE" | tr '[:upper:]' '[:lower:]')${NC}"
echo -e " 비밀번호: ${WHITE}12341234${NC}"
echo -e " ${YELLOW}⚠ 최초 로그인 후 비밀번호를 변경하세요!${NC}"
echo -e "\n${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "\n${YELLOW}⚠ 최초 로그인 후 비밀번호를 변경하세요!${NC}"
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
}
# ================================