factorial () { if (( $1 <= 1)) then return 1 else typeset tmp typeset result (( tmp = $1 - 1 )) factorial $tmp (( result = $? * $1 return $result fi } factorial 5 echo factorial 5=$? 소스는 이거구여~ 당체 이해가 안되네여 콘셸(Korn shell) 입니다. 주석이나 제가 이해 할수 있게 해주실분 있나여?
이 스크립트는 팩토리얼을 재귀로 계산하는 콘셸 함수입니다. factorial 은 n-1 값으로 자신을 다시 호출하고, 결과는 종료 상태 값으로 돌려줍니다. $? 는 직전 명령의 종료 값을 뜻합니다.