Можно использовать make
(без установки) для компиляции источников протестируйте их и т.д. стр. И затем можно использовать make install
помещать новые файлы типа "build" в систему в целом.
sfc /scannow
Из файла [1179112]y.tab. c[1179113] в исходном коде [1179114]bash[1179115]:
2.7.5 Дублирование дескриптора входного файла
Оператор перенаправления:[1179005]. [1179006][n]<&word[1179007] [1179008][...SNIP...]
Если слово вычисляется в '-', файловый дескриптор n, или стандартный ввод, если n - не указанный, должен быть закрыт. Попытки закрыть дескриптор файла которая не открыта, не является ошибкой. Если слово оценивает что-то другое, поведение не определено.2.7.6 Дублирование дескриптора выходного файла Оператор перенаправления:[1179015] [1179016][n]>&word[1179017] [1179018][...SNIP...]
Если слово вычисляется в '-', файловый дескриптор n, или стандартный вывод, если n
не указан, закрыт. Попытки закрыть дескриптор файла, который
не открыт, не является ошибкой. Если слово оценивает
что-то другое, поведение не определено.
Обратите внимание, что ни тот, ни другой ничего не указывает на то, как изначально был открыт дескриптор n файлов. Это согласуется с тем, что [1179022]close(2)[1179023] не заботится о том, как вы открыли файл.
Быстрый перебор:
против этого:
показывает, что в обоих случаях Бэш делает одно и то же. Два слегка интересных факта В разделе [1179344]bash man page о дублировании дескрипторов файлов[1179345] не упоминается, что [1179346][n]>&-[1179347] закрывает дескрипторы файлов.
В Bash-коде для обработки перенаправлений (redir.c) можно найти следующее:
738 /* XXX - что делать с [N]<&$w- где w не задан или равен нулю? ksh93
739 закрывает Н.
Пример понимания cuonglm закрытия FD '<>'.
Это цитата из Advanced Bash-Scripting Guide на http://tldp.org/LDP/abs/html/io-redirection.html
[j]<>filename
# Open file "filename" for reading and writing,
#+ and assign file descriptor "j" to it.
# If "filename" does not exist, create it.
# If file descriptor "j" is not specified, default to fd 0, stdin.
#
# An application of this is writing at a specified place in a file.
echo 1234567890 > File # Write string to "File".
exec 3<> File # Open "File" and assign fd 3 to it.
read -n 4 <&3 # Read only 4 characters.
echo -n . >&3 # Write a decimal point there.
exec 3>&- # Close fd 3.
cat File # ==> 1234.67890
# Random access, by golly.