-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
On 03/23/2013 01:44 PM, Alec Warner wrote:
> On Sat, Mar 23, 2013 at 9:26 AM, Michał Górny <[email protected]>
> wrote:
>> + # Close the lock file when we are done
>> with it. + # Prevents deadlock if we aren't
>> in a subshell. + eval "exec ${lock_fd}>&-"
>
> Not following this bit.
>
> The bash manpage says N>&DIGIT- redirects fd DIGIT to fd N. N may
> be unspecified and defaults to 1.
>
> It doesn't say what happens if DIGIT is unspecified. Nor does it
> say it closes any file descriptors.
>
The relevant section of bash(1) is reproduced below:
Duplicating File Descriptors
The redirection operator
[n]<&word
is used to duplicate input file descriptors. If word expands to
one or more digits, the file descriptor denoted by n is made to
be a copy of that file descriptor. If the digits in word do not
specify a file descriptor open for input, a redirection error
occurs. If word evaluates to -, file descriptor n is closed.
If n is not specified, the standard input (file descriptor 0) is
used.
The operator
[n]>&word
is used similarly to duplicate output file descriptors. If n is
not specified, the standard output (file descriptor 1) is used.
If the digits in word do not specify a file descriptor open for
output, a redirection error occurs. As a special case, if n is
omitted, and word does not expand to one or more digits, the
standard output and standard error are redirected as described
previously.
While the outcome of n>&- is not specified directly in the man page,
it is treated exactly as n<&- is.
- --
Jonathan Callen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBCgAGBQJRTfsWAAoJELHSF2kinlg4MO0P+wTQovWzYdfSgUP8H4WFmO1y
fpERqd1ZIoPle5Gl5+IUOWIHoMqkjS3mIAYUKF9cYwkufHRjbIs9l6NFGZg4wbRj
baCW6dRTbnbaM/YSiHLlstb4I5fcSwldwhtJrMuO9O6qLq2IFupJYkaSLnYJMs6C
HspU9W+bw4Vuvlk2wnhjGDGUj06ZIifQEOE6NYUVqF4GQaZlZpCsgA5BADPQL8zL
RAb90dJuRIuPPwgzuFka1+h0z4Sg5xxSlV7FS4c+r+HzrZCHHIHSyi9lOpOPB/8M
P+ZzJyDD3weW5AnAIuDjhJ3Rt0wI/2oYRRoVmC6hZ1CNSZuSjUCdWi6jvIvg99cR
TscJ0dKBl7bMcrrIILcXYgHtyKC/QRZWp6r0JxqOwX4L7FbPhF3qbtano+TxoCSr
X7hfCuRab1FEPE+jXeprH0c+N31SHrVBxfkJDG39MVx8hdJqXYzKCXah5/6lMJ63
Td2lc7Y3UBuXpxvQBoBCWTEV3vmKBrNX6v5Bu9TTLmrhfkcMsjCMX6TdU54tUoEU
YE37njpI4Thsl24/LPQtzkR8v9fVyYqVvvXylSq5HcM48VlqlhcI/EP0SRo9eUXu
CFRkwb7u5nX4YOdUMj+L0P59/N7Zobdfs/dCvGB4PDeJTqzFJowxVhm7Dh1Uxf6l
a1CBWFm9+S7kUPDTfwV6
=tFvf
-----END PGP SIGNATURE-----