쉘 스크립트에서 대시를 통해 9보다 큰 파일 설명자를 닫는 방법

쉘 스크립트에서 대시를 통해 9보다 큰 파일 설명자를 닫는 방법

system("sh example.sh")이라는 코드에서 쉘 스크립트를 시작하고 다음과 같이 모든 파일 설명자를 닫고 싶습니다.

for fd in $(ls /proc/$$/fd); do
   case "$fd" in
    0|1|2)
        ;;
    *)
        eval "exec $fd<&-"
        ;;
    esac
done

그러나 오류가 보고됩니다. example.sh 1: exec: 10: not found

Linux 쉘은 대시입니다. 대시는 9보다 큰 파일 설명자를 작동할 수 없는 것 같습니다. 그리고 bash와 같은 다른 Linux 쉘에 액세스할 수 없습니다. fds를 끄려면 어떻게 해야 합니까? 감사해요.

관련 정보