[완료]init 스크립트 해석에 어려움이 있습니다.
글쓴이: hkm73560 / 작성시간: 화, 2014/06/17 - 11:59오전
안녕하세요.
리눅스 부팅 프로세스를 공부하던중 initramfs 이미지의 init 스크립트를 보게 되었습니다.
그런데 평소 쉘스크립트를 다루지 않아서 해석에 많은 어려움이 있습니다.
다음과 같은 짧은 반복문인데 해석이 조금 힘드네요.
while :; do [ -d "$NEWROOT/proc" ] && break; for f in /mount/*.sh; do [ -f "$f" ] $$ . "$f" [ -d "$NEWROOT/proc" ] && break; done i=$(($i+1)) [ $i -gt 20 ] \ && { flock -s 9 ; emergency_shell "Can't mount root filesystem"; } 9>/.console_lock
특히 해석을 막는 부분은 while, for에서의 [] 부분입니다. while 혹은 for문의 조건 부분에 해당하지 않는 것 같은데 왜 []를 쓰고 있는지 또 의미하는바가 무엇인지 잘 모르겠습니다.
Forums:
http://www.freeos.com/guides/
http://www.freeos.com/guides/lsst/
[] 구문(?)은 테스트 명령어였군요
쉘의 명령어 중 테스트라는 게 있는줄 몰랐습니다.
그렇다면 위 [ -d "$NEWROOT/proc" ] && break; 라인은
$NEWROOT/proc 라는 디렉토리가 있으면 break를 하고 없으면 break하지 않고 다음 라인을 진행한다는 뜻이 되겠군요.
고맙습니다.
댓글 달기