2009-04-06 18:06:10 +05:30
|
|
|
# make sure we have a way of checking these things
|
2009-04-07 07:59:51 +05:30
|
|
|
cd /proc/$$/fd || cd /dev/fd || exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 44 ] && exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
exec 44>/dev/null
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 44 ] || exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
echo pass fd out open
|
|
|
|
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 55 ] && exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
exec 55>&44
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 55 ] || exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
echo pass fd out dup
|
|
|
|
|
|
|
|
exec 44>&-
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 44 ] && exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
echo pass fd out close
|
|
|
|
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 66 ] && exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
exec 66</dev/null
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 66 ] || exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
echo pass fd in open
|
|
|
|
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 77 ] && exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
exec 77<&66
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 77 ] || exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
echo pass fd in dup
|
|
|
|
|
|
|
|
exec 66<&-
|
2009-04-07 07:59:51 +05:30
|
|
|
[ -e 66 ] && exit 1
|
2009-04-06 18:06:10 +05:30
|
|
|
echo pass fd in close
|