| IFS
| Here Document 방식
$ cat > users.csv << 'EOF'
> psj,park seojun
> jkj,jin kijoo
> osk,oh seonkeun
> EOF
#!/bin/bash
# ========== 🎨 스타일 설정 ==========
bold=$(tput bold)
normal=$(tput sgr0)
green="\033[1;32m"
red="\033[1;31m"
yellow="\033[1;33m"
blue="\033[1;34m"
cyan="\033[1;36m"
reset="\033[0m"
function title() { echo -e "\n${blue}${bold}🔷 $1${reset}"; }
function success() { echo -e "${green}✅ $1${reset}"; }
function warn() { echo -e "${yellow}⚠️ $1${reset}"; }
function error() { echo -e "${red}❌ $1${reset}"; }
function info() { echo -e "${cyan}ℹ️ $1${reset}"; }
# ========== 🗂️ 기본 정보 ==========
input='users.csv'
default_password='changeme123'
title "👥 사용자 계정 생성 시작"
info "📝 입력 파일 : $input"
info "🔐 초기 비밀번호 : $default_password"
echo -e "────────────────────────────────────────────"
# ========== 🔁 사용자 생성 루프 ==========
while IFS="," read -r loginname name; do
if [ -z "$loginname" ] || [ -z "$name" ]; then
warn "빈 행 또는 필드 누락 - 건너뜀"
continue
fi
info "👤 생성 중: ${bold}$loginname${normal} (${name})"
if id "$loginname" &>/dev/null; then
warn "$loginname 이미 존재함 - 건너뜀"
continue
fi
sudo useradd -c "$name" -m "$loginname"
if [ $? -ne 0 ]; then
error "$loginname 생성 실패"
continue
fi
echo "$loginname:$default_password" | sudo chpasswd
if [ $? -eq 0 ]; then
success "$loginname 계정 생성 완료"
else
error "$loginname 비밀번호 설정 실패"
fi
done < "$input"
# ========== ✅ 완료 ==========
title "🏁 사용자 생성 스크립트 종료"
echo
#!/bin/bash
# ========== 🎨 스타일 설정 ==========
bold=$(tput bold)
normal=$(tput sgr0)
green="\033[1;32m"
red="\033[1;31m"
yellow="\033[1;33m"
blue="\033[1;34m"
cyan="\033[1;36m"
reset="\033[0m"
function title() { echo -e "\n${blue}${bold}🔷 $1${reset}"; }
function success() { echo -e "${green}✅ $1${reset}"; }
function warn() { echo -e "${yellow}⚠️ $1${reset}"; }
function error() { echo -e "${red}❌ $1${reset}"; }
function info() { echo -e "${cyan}ℹ️ $1${reset}"; }
# ========== 🗂️ 기본 정보 ==========
input='users.csv'
title "🗑️ 사용자 계정 삭제 시작"
info "📝 입력 파일 : $input"
echo -e "────────────────────────────────────────────"
# ========== 🔁 사용자 삭제 루프 ==========
while IFS="," read -r loginname name; do
if [ -z "$loginname" ]; then
warn "빈 행 또는 사용자명 누락 - 건너뜀"
continue
fi
info "👤 삭제 대상: ${bold}$loginname${normal} (${name})"
if id "$loginname" &>/dev/null; then
sudo userdel -r "$loginname" &>/dev/null
if [ $? -eq 0 ]; then
success "$loginname 계정 및 홈 디렉토리 삭제 완료"
else
error "$loginname 삭제 실패"
fi
else
warn "$loginname 계정이 존재하지 않음"
fi
done < "$input"
# ========== ✅ 완료 ==========
title "🏁 사용자 삭제 스크립트 종료"
echo