Fix stdin issue for curl | bash execution

pbs_allinone.sh 입력 문제 수정:
- 모든 read -p 명령어에 < /dev/tty 추가
- curl | bash 실행 시 stdin 소진 문제 해결
- 사용자 입력이 정상적으로 작동하도록 수정

수정된 read 명령어:
- PBS 스토리지 재등록 확인
- 백업 타입 입력 (vm/ct)
- 백업 ID 입력
- 복구 VM/CT ID 입력
- 저장 스토리지 입력
- 복구 확인
- 기존 VM/CT 삭제 확인
- VM/CT 시작 확인

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
시골약사 2025-11-15 00:37:27 +00:00
parent 1c6e6dcf56
commit 02137c50a8

View File

@ -71,7 +71,7 @@ register_pbs() {
# 이미 등록되어 있는지 확인
if pvesm status | grep -q "^${PBS_STORAGE_NAME} "; then
log_warning "PBS 스토리지가 이미 등록되어 있습니다."
read -p "$(echo -e ${YELLOW}재등록하시겠습니까?${NC}) (y/N): " reregister
read -p "$(echo -e ${YELLOW}재등록하시겠습니까?${NC}) (y/N): " reregister < /dev/tty
if [[ "$reregister" =~ ^[Yy]$ ]]; then
log_info "기존 PBS 스토리지 제거 중..."
@ -260,14 +260,14 @@ PYEOF
# 백업 선택
echo ""
while true; do
read -p "$(echo -e ${CYAN}백업 타입${NC}) (vm/ct): " BACKUP_TYPE
read -p "$(echo -e ${CYAN}백업 타입${NC}) (vm/ct): " BACKUP_TYPE < /dev/tty
if [[ "$BACKUP_TYPE" =~ ^(vm|ct)$ ]]; then
break
fi
log_error "vm 또는 ct를 입력하세요"
done
read -p "$(echo -e ${CYAN}백업 ID${NC}): " TEMPLATE_VMID
read -p "$(echo -e ${CYAN}백업 ID${NC}): " TEMPLATE_VMID < /dev/tty
if [ -z "$TEMPLATE_VMID" ]; then
log_error "백업 ID는 필수입니다"
exit 1
@ -358,7 +358,7 @@ get_restore_config() {
echo ""
# 복구할 VM/CT ID
read -p "$(echo -e ${CYAN}복구할 VM/CT ID${NC}) [기본값: ${TEMPLATE_VMID}]: " TARGET_VMID
read -p "$(echo -e ${CYAN}복구할 VM/CT ID${NC}) [기본값: ${TEMPLATE_VMID}]: " TARGET_VMID < /dev/tty
TARGET_VMID=${TARGET_VMID:-$TEMPLATE_VMID}
# 사용 가능한 스토리지 목록 표시
@ -366,7 +366,7 @@ get_restore_config() {
# 스토리지 선택
while true; do
read -p "$(echo -e ${CYAN}저장 스토리지 이름${NC}) [기본값: local-lvm]: " input_storage
read -p "$(echo -e ${CYAN}저장 스토리지 이름${NC}) [기본값: local-lvm]: " input_storage < /dev/tty
TARGET_STORAGE=${input_storage:-local-lvm}
# 입력한 스토리지가 존재하는지 확인
@ -393,7 +393,7 @@ get_restore_config() {
echo " 저장 위치: ${TARGET_STORAGE}"
echo ""
read -p "$(echo -e ${YELLOW}이 설정으로 복구하시겠습니까?${NC}) (y/N): " confirm
read -p "$(echo -e ${YELLOW}이 설정으로 복구하시겠습니까?${NC}) (y/N): " confirm < /dev/tty
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
log_info "작업 취소됨"
exit 0
@ -413,7 +413,7 @@ restore_backup() {
# 기존 VM/CT 확인
if qm status ${TARGET_VMID} 2>/dev/null || pct status ${TARGET_VMID} 2>/dev/null; then
log_warning "VM/CT ${TARGET_VMID}가 이미 존재합니다"
read -p "$(echo -e ${YELLOW}삭제하고 복구하시겠습니까?${NC}) (y/N): " delete_confirm
read -p "$(echo -e ${YELLOW}삭제하고 복구하시겠습니까?${NC}) (y/N): " delete_confirm < /dev/tty
if [[ "$delete_confirm" =~ ^[Yy]$ ]]; then
log_info "기존 VM/CT 삭제 중..."
@ -473,7 +473,7 @@ restore_backup() {
# VM/CT 시작
start_vm() {
echo ""
read -p "$(echo -e ${YELLOW}VM/CT를 바로 시작하시겠습니까?${NC}) (y/N): " start_confirm
read -p "$(echo -e ${YELLOW}VM/CT를 바로 시작하시겠습니까?${NC}) (y/N): " start_confirm < /dev/tty
if [[ "$start_confirm" =~ ^[Yy]$ ]]; then
log_info "VM/CT 시작 중..."