В UNIX такие оболочки, как Bash и Korn, оболочка exec
используется для двух конкретных целей.
Его использование для замены текущей программы другой, как в exec prog
, понятно. Имя exec
является сокращением от подпрограмм семейства C, основанных на execve
.
Если бы я писал оболочку и хотел, чтобы команда открыла файл, я бы назвал его open
, но нет, оболочки Bash и Korn снова используют exec
, как, например, в exec 3<file
.
Почему команда exec
повторно использована для чего-то совершенно другого?