>> Delete Reply from No. 0 article
No. RE: RE: 답변 감사합니다만 문제는 그게 아닌데요.

등록 2001-12-09 12:58:00 By localhost     조회 2
이름 simji    

		: : 아래 스크립트에서 case구문이 제대로 동작을 안하는데 뭐가 잘못 된건지
: : 답변 좀 부탁 합니다.
: : 두번째 질문에 어떤 대답을 하던 간에 case에서 디폴트로 지정된 세번째의
: : 경우가 실행이 되는데 이유를 모르겠네요. 고수님들의 한수 지도 부탁 합니다.
: :
: :  #Main routine
: :
: : clear
: : echo
: : echo "Flle and directory mode changing program"
: : echo "Please, enter the directory to start:"
: : read start_dir
: : echo "Do you want to do for all subdirectories too?, (y/n)"
: : read ANSWER
: : echo "Mode for directories ?"
: : read DIR_MODE
: : echo "Mode for files ?"
: : read FILE_MODE
: :
: : count=0
: : dir_flag=0
: : file_name=""
: : DIR_0=''
: : DDIR_0=''
: :
: : echo "Start DIR is $start_dir"
: :
: : cd $start_dir
: :
: : case "$ANSWER" in
: :         "[yY]" | "[Yy][Ee][Ss]" )
: :                 until [ "$DDIR_0" ]
: :                 do
: :                         file_change
: :                         if [ "$dir_flag" -eq 1 ];then
: :                                 dir_move_fwd
: :                         else
: :                                 dir_move_back
: :                         fi
: :                 done
: :                 ;;
: :
: :         "[nN]*" )
: :                 file_change
: :                 ;;
: :         * )
: :                 echo "Sorry, answer not recognised"
: :                 echo "Please answer yes or no"
: :                 exit 1
: :                 ;;
: : esac
: :
: : exit 0
: :
:
: +++++++++++++++++++++++++++++++++++++++
: #
: #
: #
: 위의 case문에서는 DIR_MODE나 FILE_MODE에 대한 어떠한 선택 구문도
: 없으므로 read DIR_MODE 나read FILE_MODE에서 읽어들인 값은 아무런
: 효력도 발휘하지 못합니다.그러므로 *)에 기술된 명려이 실행되면서
: 스크립트는 종료됩니다.
: DIR_MODE나 FILE_MODE에 대한 선택구문을 작성한 다음 다시 실행하시면
: 원하는 결과를 얻으실 수 있을 겁니다.
: 미흡한 답변이었습니다.
:
  여기서 말씀하신 DIR_MODE나 FILE_MODE에 대한 값은 은 물론 효력이 없습니다.
읽어들인 값들은 위의 코드에서 쓰이는 게 아니라 다른 함수에서 쓰이기 때문
입니다. 그 함수들은 제가 여기에 포함시키지 않았습니다. 너무 길어서서요. 그리고 그 값
들은 case문엔 영향을 주질 않습니다. 예로 "[yY]" | "[Yy][Ee][Ss]" 이 부분을
"y" | "Y" | "yes" ) 이런식으로 바꾸면 위의 코드는 제대로 동작을
합니다. 근데 2번째 윗줄에 적은 식으로 하면 안된다는 겁니다.
쉘 프로그래밍 책에 보면 위처럼 써도 된다고 나와 있는데 안되니 이해가
안가는 겁니다. 다시한번 답변 해 주시면 고맙겠습니다.
  : : --
: : 이 곳에 서명을 적어주십시오.
: : 킬리만자로의 표범--이 곳에 서명을 적어주십시오.
킬리만자로의 표범
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved