>> Delete Reply from No. 33734 article
No. RE: 쉘스크립트 ( 본쉘 : for문 )

등록 2001-07-15 13:05:00 By localhost     조회 2
이름 단말기와키보드    

		:
: <스크립트>
: A='ls *'
:
: for B in 'echo $A'
: do
:    echo $B
: done
: </스크립트>
:
: 위에 쉘스크립트를 실행을 시키면 'ls *'의 결과만큼 for문이 도는것으로 알고 있습니다..
:
 아뇨... 그렇지 않습니다. 우선..
 A='ls *' 이걸 확인 해 보셨습니까? 이건...
 echo $A하셔보면 아시겠지만.. ls와 그 디렉토리 내의 모든 파일을 열거한
 것이 되는 군요...(님도 아래에 똑같은 결과를 얻으셨죠?)
 그리고 for문에서 in 'echo $A'라고 하시면... for문이 한 번 돕니다...
 매개변수가 하나('echo $A')니깐요...
 아마 작은 따옴표(')가 아니라 숫자 1 왼쪽편에 있는 (`)을 쓰셔야할겁니다.
 (`)이 무슨 역할을 하는지는 직접 해보시면 알겁니다.
   : 근데요.. 위에걸 실행시키면
:
: ./fortest: //echo: No such file or directory
  이건 의심스럽습니다. 뭔가 설명하시지 않으신 부분이 있진 않은지요...
  : echo $A
:
: 이렇게 에러가 납니다.. 어떻게 해야될지... 참....
:
: <스크립트>
: A='ls *'
: echo $A
: </스크립트>
:
: 이렇게 test를 해 보니
:
: ls checkABCD checkpc filecheck fortest numcompare tempcheck user
: ./fortest: /bin: is a directory
: echo $A
: ./fortest: user/: is a directory
:
: 이런 에러가 나오더군여...
:
: 뭣때문인지 좀 도와주십시오.. 제가 쉘을 이제 막 시작을 해서요.. 부탁드립니다...^^
  그리고 결론적으로 echo $B의 의미가 없는듯 싶은데...
 (for문이 돌때마다.. B에 해당하는 변수값이 있습니까? 없다면
공백만 표시 되겠죠..)
 아마 echo대신 다른 명령어를 쓰셨다고 생각됩니다...
 아마 그래서 디렉토리에 접근했을 때 오류가 나는 것은 아닐런지...
 뭔가 설명을 빼신 게 있다는 느낌이 드네요.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

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