Add CLI args support: --name, --hira, --addr, --owner, --phone, --mssql
Allows non-interactive execution via SSH pipe or automation. Falls back to interactive /dev/tty input when no args provided. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,37 @@
|
|||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
# 명령행 인자 처리
|
||||||
|
# ============================================================
|
||||||
|
ARGS_NAME=""
|
||||||
|
ARGS_HIRA=""
|
||||||
|
ARGS_ADDR=""
|
||||||
|
ARGS_OWNER=""
|
||||||
|
ARGS_PHONE=""
|
||||||
|
ARGS_MSSQL=""
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--name) ARGS_NAME="$2"; shift 2 ;;
|
||||||
|
--hira) ARGS_HIRA="$2"; shift 2 ;;
|
||||||
|
--addr) ARGS_ADDR="$2"; shift 2 ;;
|
||||||
|
--owner) ARGS_OWNER="$2"; shift 2 ;;
|
||||||
|
--phone) ARGS_PHONE="$2"; shift 2 ;;
|
||||||
|
--mssql) ARGS_MSSQL="$2"; shift 2 ;;
|
||||||
|
--help|-h)
|
||||||
|
echo "사용법: pharmq-setup.sh [옵션]"
|
||||||
|
echo " --name 약국명 (필수 또는 대화형 입력)"
|
||||||
|
echo " --hira 요양기관부호"
|
||||||
|
echo " --addr 약국 주소"
|
||||||
|
echo " --owner 약국장 이름"
|
||||||
|
echo " --phone 연락처"
|
||||||
|
echo " --mssql MSSQL 서버 주소 (기본: 192.168.0.201\\PM2014)"
|
||||||
|
exit 0 ;;
|
||||||
|
*) shift ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 설정
|
# 설정
|
||||||
# ============================================================
|
# ============================================================
|
||||||
@@ -246,28 +277,39 @@ phase2_tailscale_pve() {
|
|||||||
phase3_collect_info() {
|
phase3_collect_info() {
|
||||||
print_phase "Phase 3/8: 약국 정보 수집"
|
print_phase "Phase 3/8: 약국 정보 수집"
|
||||||
|
|
||||||
# 약국명 (필수)
|
# 명령행 인자가 있으면 사용, 없으면 대화형 입력
|
||||||
PHARMACY_NAME=""
|
if [ -n "$ARGS_NAME" ]; then
|
||||||
while [ -z "$PHARMACY_NAME" ]; do
|
PHARMACY_NAME="$ARGS_NAME"
|
||||||
echo -ne "${CYAN}약국명 (필수): ${NC}"
|
HIRA_CODE="${ARGS_HIRA:-}"
|
||||||
read -r PHARMACY_NAME </dev/tty
|
PHARMACY_ADDRESS="${ARGS_ADDR:-}"
|
||||||
done
|
OWNER_NAME="${ARGS_OWNER:-}"
|
||||||
|
PHARMACY_PHONE="${ARGS_PHONE:-}"
|
||||||
|
MSSQL_SERVER="${ARGS_MSSQL:-192.168.0.201\\PM2014}"
|
||||||
|
print_ok "명령행 인자에서 약국 정보 로드됨"
|
||||||
|
else
|
||||||
|
# 약국명 (필수)
|
||||||
|
PHARMACY_NAME=""
|
||||||
|
while [ -z "$PHARMACY_NAME" ]; do
|
||||||
|
echo -ne "${CYAN}약국명 (필수): ${NC}"
|
||||||
|
read -r PHARMACY_NAME </dev/tty
|
||||||
|
done
|
||||||
|
|
||||||
echo -ne "${CYAN}요양기관부호 (선택, Enter로 건너뛰기): ${NC}"
|
echo -ne "${CYAN}요양기관부호 (선택, Enter로 건너뛰기): ${NC}"
|
||||||
read -r HIRA_CODE </dev/tty
|
read -r HIRA_CODE </dev/tty
|
||||||
|
|
||||||
echo -ne "${CYAN}약국 주소 (선택): ${NC}"
|
echo -ne "${CYAN}약국 주소 (선택): ${NC}"
|
||||||
read -r PHARMACY_ADDRESS </dev/tty
|
read -r PHARMACY_ADDRESS </dev/tty
|
||||||
|
|
||||||
echo -ne "${CYAN}약국장 이름 (선택): ${NC}"
|
echo -ne "${CYAN}약국장 이름 (선택): ${NC}"
|
||||||
read -r OWNER_NAME </dev/tty
|
read -r OWNER_NAME </dev/tty
|
||||||
|
|
||||||
echo -ne "${CYAN}약국 연락처 (선택): ${NC}"
|
echo -ne "${CYAN}약국 연락처 (선택): ${NC}"
|
||||||
read -r PHARMACY_PHONE </dev/tty
|
read -r PHARMACY_PHONE </dev/tty
|
||||||
|
|
||||||
echo -ne "${CYAN}MSSQL 서버 주소 [기본: 192.168.0.201\\PM2014]: ${NC}"
|
echo -ne "${CYAN}MSSQL 서버 주소 [기본: 192.168.0.201\\PM2014]: ${NC}"
|
||||||
read -r MSSQL_SERVER </dev/tty
|
read -r MSSQL_SERVER </dev/tty
|
||||||
MSSQL_SERVER=${MSSQL_SERVER:-'192.168.0.201\PM2014'}
|
MSSQL_SERVER=${MSSQL_SERVER:-'192.168.0.201\PM2014'}
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
print_info "약국명: $PHARMACY_NAME"
|
print_info "약국명: $PHARMACY_NAME"
|
||||||
|
|||||||
Reference in New Issue
Block a user