해당 계정 일괄 생성/삭제 프로그램은 이전 포스팅 참조
2024.03.21 - [리눅스(Linux)] - Shell Script : 계정 일괄 생성/삭제 프로그램
해당 코드를 함수로 만들어 간소화해보자!
## 함수정의
function AA(){
echo -n "생성할 계정명: ";read Aname
echo -n "생성할 개수: ";read Acount
}
계정 생성 함수
function DD(){
echo -n "삭제할 계정명: ";read Dname
echo -n "삭제할 개수: ";read Dcount
}
계정 삭제 함수
function Add(){
for (( i=1 ; i<=$Acount ; i++ ))
do
useradd $Aname$i
done
}
계정 생성 과정 함수
function Del(){
for (( i=1 ; i<=$Dcount ; i++ ))
do
userdel -r $Dname$i
done
}
계정 삭제 과정 함수
이후 코드는 간략해진다!
if [ $REPLY -eq 1 ];then
AA
elif [ $REPLY -eq 2 ];then
DD
fi
case $REPLY in
1)
Add;;
2)
Del;;
3)
echo "프로그램을 종료합니다."
exit;;
*)
echo "잘못 입력하셨습니다."
exit;;
esac
실행해보기 : 유저 hoho를 3개 만들고, 삭제 해보자
함수 정의 이후에도 정상 동작확인!
최종 코드
#!/bin/bash
#filename : /root/usermake.sh
echo "****** 계정 일괄 생성/삭제 프로그램 *******"
echo "1. 계정 일괄 생성"
echo "2. 계정 일괄 삭제"
echo "3. 종료"
read -p "메뉴를 선택하세요(1~3): "
## 함수정의
function AA(){
echo -n "생성할 계정명: ";read Aname
echo -n "생성할 개수: ";read Acount
}
function DD(){
echo -n "삭제할 계정명: ";read Dname
echo -n "삭제할 개수: ";read Dcount
}
function Add(){
for (( i=1 ; i<=$Acount ; i++ ))
do
useradd $Aname$i
done
}
function Del(){
for (( i=1 ; i<=$Dcount ; i++ ))
do
userdel -r $Dname$i
done
}
if [ $REPLY -eq 1 ];then
AA
elif [ $REPLY -eq 2 ];then
DD
fi
case $REPLY in
1)
Add;;
2)
Del;;
3)
echo "프로그램을 종료합니다."
exit;;
*)
echo "잘못 입력하셨습니다."
exit;;
esac
vi editor : 단축키 (1) | 2024.09.30 |
---|---|
disk partitioning (1) | 2024.09.25 |
Shell Script : 계정 일괄 생성/삭제 프로그램 (0) | 2024.03.21 |
Shell Script : 파일 복사하기 (0) | 2024.03.20 |
iptables mangle : ttl_set (0) | 2024.03.05 |