1 # Builds a " 3>&- 4>&-" string.
2 # Note: one of these fds is a directory opened to /proc/self/fd
3 # for globbing. It is unwanted, but I don't know how to filter it out.
6 for f in /proc/self/fd/*; do
7 test "$f" = "/proc/self/fd/0" && continue
8 test "$f" = "/proc/self/fd/1" && continue
9 test "$f" = "/proc/self/fd/2" && continue
10 fds="$fds ${f##*/}>&-"
17 # One of the fds is open to the script body
18 # Close it while executing something.
21 # Shell should not lose that fd. Did it?
23 test x"$fds1" = x"$fds" && { echo "Ok: script fd is not closed"; exit 0; }
25 echo "Bug: script fd is closed"