sun's longitude:261 08 13 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
 
   

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
2906 번 글: 산이님, 쉘스크립트 질문입니다.
글쓴이: 김인영 글쓴날: 2011년 10월 01일 22:13:18 토(저녁) 조회: 1053
-----------------------------------------
답변자가 기본적으로 참고할 내용입니다.
- 배포판(옵션)    : CentOS
- 커널버전(옵션)  : 2.6.18-274.3.1.el5
-----------------------------------------
*스팸필터링:한글 11자 이상 없으면 스팸페이지로 이동합니다.

안녕하세요. 산이님 이젠 제법 날씨가 쌀쌀합니다.
감기에 조심하시구요.

산이님의 도움과 여러 포탈에 있는 정보들을 통해 쉘스크립트에 한걸음씩 접하다가

근래에 그것을 응용하는과정에 와있는데요.

여러 검색을 통해 해결을 해보려고 해도 도저히 안풀리는 게 있어서 산이님의 도움을

청하고자 합니다. ㅠ_ㅠ;

아래는 현재 제가 제작한 계정 및 도메인 삭제 하는 간단한 스크립트입니다.

허접하지만 잘 봐주세요 ^^

----------------------- 여기서부터 스크립트 --------------------------------
#!/bin/sh

echo "계정을 삭제합니다!"
echo -n "삭제할 계정명을 입력해주세요:"
read name

if [ -z $name ] ; then
echo "반드시 계정명을 입력해주셔야 합니다."
./test.sh

else

home_path=/home
vsftpd_path=/etc/vsftpd
if [ -d $home_path/$name ] ; then
userdel -r $name


sed /$name/d $vsftpd_path/chroot_list > $vsftpd_path/chroot_list_sav
        rm -rf $vsftpd_path/chroot_list
        mv $vsftpd_path/chroot_list_sav $vsftpd_path/chroot_list

echo $name " 계정이 성공적으로 삭제되었습니다."
else
echo $name " 계정이 존재하지 않습니다. 계정명을 다시 확인하세요."
./test.sh
fi
fi

echo "도메인을 삭제합니다."
echo -n "삭제할 도메인명을 입력해주세요:"
read dname

if [ -z $dname ] ; then
./test.sh

else

d_name_path=/var/named/chroot/etc/dns/d_name
BDIR=/var/named/chroot/etc/dns

if [ -f $d_name_path/$dname ] ; then

sed /$dname/d $BDIR/domains.conf >> $BDIR/domains.conf_sav
rm -rf $BDIR/domains.conf
mv $BDIR/domains.conf_sav $BDIR/domains.conf
rm -rf $d_name_path/$dname

echo "도메인" $dname "삭제완료"
/etc/init.d/named reload

else
echo $dname "도메인이 이미 삭제되었거나 잘못된 도메인을 입력하셨습니다."
./test.sh
fi
fi
--------------------------------------------------------------------------------

지금 해결이 안되는것이 스크립트 상단에 보시면 

if [ -z $name ] ; then
echo "반드시 계정명을 입력해주셔야 합니다."
./test.sh

부분이 있는데 $name 변수가 null 이면 아래의 메시지를 출력하고 현재 스크립트를 

다시 불러들이는 편법을 사용하고 있었는데요.

문제는 아래에 도메인 삭제시 값이 null 이면 또다시 tesh.sh 를 실행하게 되면서

이미 맞게 입력했던 계정명을 다시 입력하라고 뜨는 부분입니다.

제가 생각하는 결과값은 계정값이 null 일때 스크립트 최상단의

(여기부분) echo "계정을 삭제합니다!"
           echo -n "삭제할 계정명을 입력해주세요:"
           read name

부터 실행하게끔 할수 있냐는 것입니다. (편법으로 tesh.sh 재호출 하는법 아니구요 ^^;)


이게 가능한 방법이 있다면 산이님의 도움을 청해봅니다.

긴 글 읽어주셔서 감사합니다.

 
이전글 : Re: 흑흑 MYSQL DB를 날려먹었습니다 ㅠ.ㅠ
다음글 : Re: 산이님, 쉘스크립트 질문입니다.  
 from 125.183.17.30
JS(Redhands)Board 0.4 +@

Re: 흑흑 MYSQL DB를 날려먹었습니다 ㅠ.ㅠ Re: 산이님, 쉘스크립트 질문입니다.
인쇄용 


apache lighttpd linuxchannel.net 
Copyright (c) 1997-2017, linuxchannel.net

Page loading: 0.01(server) + (network) + (browser) seconds