В учебнике bash, который я читаю, говорится, что если вы откроете дескриптор файла для чтения, т.е.
exec 3< echolist
Тогда вы должны закрыть это так,
exec 3<&-
Однако, если вы открываете дескриптор файла для записи, он должен быть закрыт следующим образом:
exec 3>&-
Тем не менее, когда я смотрю в Интернете, я вижу людей, открывающих файлы, а затем закрывающих их следующим образом:
exec 3>&-
ПРИМЕЧАНИЕ: когда, согласно учебнику, они должны использовать exec 3<&1.
Итак, мой вопрос, все ли файловые дескрипторы могут быть закрыты через exec n>&-где n - номер файлового дескриптора? Независимо от того, был ли он открыт для чтения, письма или и того, и другого?
>&-и<&-является Ф.Д. по умолчанию , если не указано (>&-в1>&-то время как<&-есть0<&-). То же самое дляx>&yчего то же самое,x<&yза исключением случаев, когдаxне предусмотрено.