>> Delete No. 36522 article
No. shell 스크립트에 대해서...

등록 2001-12-05 13:25:00 By localhost     조회 2
이름 simji    

		제가 파일이나 디렉토리 모드를 바꾸는 스크립트를 짜고 있는데 디렉토리 구조를
찾아낼 방법을 알 수가 없어서 무식하게 디렉토리가 검사 될 때 마다 변수에 집어 넣었다
가 다시 그걸 읽어서 디렉토릴 바꿀려고 하는데, 찾아낸 디렉토릴 변수에 저장을 할 수는 
있는데 다시 변수로부터 읽어 올 방법을 몰라서 질문 드립니다. 먼저 스크립트를 보시고 
문제를 더 자세히 설명 드리죠. #!/bin/sh
 count=0
 dir_tree() {
         local dir_v="$file_name"
        temp_dir=dir_v
        eval dir$count='$'$temp_dir
        echo "current dir is $dir$count"
        count=$(($count+1))
}
     
        for file_name in *
        do
                 if [ -d "$file_name" ];then
                        chmod 755 "$file_name"
                        dir_tree
                        dir_flag=1
                elif [ -f "$file_name" ] && [ "$0" = "$file_name" ];then
                        echo "$file_name is $0 itselfe"
                        echo "$(ls -l "$file_name")"
                elif [ -x "$file_name" ];then
                        echo "$file_name" is excutable
                else
                        chmod 644 "$file_name"
                fi
        done
 count=$(($count-1))
echo "End dir $dir0, $dir1, $dir2, $dir3"
  디렉토릴 저장하는 변수는 저 위에 dir_tree()함수 에서 dir$count로
count 가 증가 할 때마다 dir0, dir1, dir2....이런식으로 생성이
되면서 그 변수에 검색이 된 디렉토리 이름이 저장이 됩니다. 이건 맨 마지막 줄에서 echo로
 확인을 해 보면 출력이 되는 걸로 봐서 제대로 동작을 합니다.  근데 문제는 출력을 마지
막 라인 처럼 할려는 게 아니라 count=3 이고
dir$count이런 식으로 적어 주었을 때 dir3에 저장된 값을 출력을 하고
싶은데 방법을 모르겠네요. 아시는 분 답변 좀 부탁합니다.
echo $dir$count이렇게 하게 되면 정의 되지 않은 변수 dir에서 값을 가져고오고 다시 $count를 3
으로 대체해서 출력을 하기 땜시 원하는 결과인 dir3의 값을 출력 할 수가 없네요.--이 곳에 
서명을 적어주십시오. 킬리만자로의 표범
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

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