과연 스크립트가 자신을 재귀적으로 부를 수 있을까요?
예 34-6. 자신을 재귀적으로 부르는 스크립트
#!/bin/bash
# recurse.sh
#  스크립트가 자신을 재귀적으로 부를 수 있을까요?
#  부를 수 있지만, "개념 증명"(proof of concept) 따위의 쓰임새가 아니라면,
#+ 전혀 실용적이지 않습니다.
RANGE=10
MAXVAL=9
i=$RANDOM
let "i %= $RANGE"  # 0 에서 $MAXVAL 사이의 랜덤한 숫자 만들기.
if [ "$i" -lt "$MAXVAL" ]
then
  echo "i = $i"
  ./$0             #   스크립트는 자기 자신의 새 인스턴스를 
                   #+  재귀적으로 만들어 냅니다.
                   #   만들어내 $i 가 $MAXVAL 과 같을 때까지 
                   #+  각 자식 스크립트도 똑같은 동작을 합니다.
#  "if/then" 대신 "while" 루프를 쓰면 문제가 생깁니다.
#  독자들을 위한 연습문제: 왜 문제가 생길까요?
exit 0 | 
| 경고 | 
재귀가 너무 많이 일어나면 스크립트의 스택 영역을 다 써버리기 때문에 세그폴트가 납니다.  |