#!/usr/bin/env bash # shellcheck disable=SC2086 # tmux의 현대적이고 빠른 Rust 기반 대안인 rmux를 설치합니다. # rmux: https://rmux.io # # 지원 플랫폼: # macOS & Linux set -euo pipefail # ──────────────────────────────────────────── # 유틸리티 함수 (모두 stderr 출력) # ──────────────────────────────────────────── info() { echo "[INFO] $*" >&2; } warn() { echo "[WARN] $*" >&2; } error() { echo "[ERROR] $*" >&2; exit 1; } success() { echo "[OK] $*" >&2; } # ──────────────────────────────────────────── # 필수 명령어 확인 # ──────────────────────────────────────────── for cmd in curl sh; do command -v "$cmd" &>/dev/null || error "'$cmd' 명령어가 필요합니다. 먼저 설치해 주세요." done # ──────────────────────────────────────────── # 메인 설치 로직 # ──────────────────────────────────────────── main() { info "rmux (tmux alternative in Rust) 설치를 시작합니다..." if command -v rmux &>/dev/null; then local current_ver current_ver="$(rmux --version 2>/dev/null || echo 'unknown')" info "rmux가 이미 설치되어 있습니다 ($current_ver). 설치를 건너뜁니다." else info "공식 스크립트를 통해 rmux를 설치하는 중..." if curl -fsSL https://rmux.io/install.sh | sh; then success "rmux 설치가 성공적으로 완료되었습니다!" else error "rmux 설치 스크립트 실행 중 오류가 발생했습니다." fi fi # 설치 완료 검증 if command -v rmux &>/dev/null; then success "rmux를 사용할 수 있습니다: $(command -v rmux)" info "실행 명령어: rmux" else warn "rmux가 PATH에서 검색되지 않습니다. 터미널을 다시 열거나 환경 변수를 확인해 주세요." fi } main "$@"