Как `cp` находится и запускается Bash?

Bash разрешает имя команды через функции, встроенные команды и поиск исполняемого файла по PATH с кешем путей. Обычный cp — внешняя программа.

Короткий ответ

Что ответить на собеседовании

Bash разрешает имя команды через функции, встроенные команды и поиск исполняемого файла по PATH с кешем путей. Обычный cp — внешняя программа.

Подробный разбор

Ответ с пояснениями

Bash разрешает имя команды через функции, встроенные команды и поиск исполняемого файла по PATH с кешем путей. Обычный cp — внешняя программа.

До выполнения также учитывается синтаксическое раскрытие alias, если оно включено. Для имени без / Bash проверяет функцию, builtin, затем сохранённый путь или каталоги PATH. Команда с явным путём запускается без такого поиска.

После подготовки аргументов, окружения и перенаправлений shell запускает найденный исполняемый файл и получает его код завершения. type -a cp помогает увидеть, не перекрыто ли имя alias или функцией. which не всегда отражает все правила самого shell.

Источник: www.gnu.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее