Что выше изображения юбочника будет умора, если она не носит брюки! @DoctorWhom Да, вот почему я удалил Справедливой куча комментариев. С другой стороны, это, кажется, быть использованы в качестве предлога для не делать регулярно, хотя бы пациентов я был подвержен последние 3 месяца... @Drecate: Абсолютно. Эти варианты, конечно, **не равно** альтернатив доктора философии (которая, definition_ _by, может только другой кандидат). Однако, ОП не спрашивал о равных альтернатив а альтернативы для целей аккредитации. Если аккредитация будет только принимать кандидатские полномочия, вопрос не имеет никакого смысла вообще. Поэтому, я уже говорил, Все или, скорее, некоторые из которых считаются приемлемыми для целей аккредитации.

Нет резкой границы между оболочкой и приложениями.

Некоторые из команд, которые можно запускать в консоли должны быть встроены в оболочки, потому что они действуют на процесс Shell. Например, компакт-диск изменения оболочки рабочего каталога, и это не может быть сделано снаружи, так что компакт-диск должен быть встроен в команду. Но это деталь реализации. Обычный пользователь не должен знать, что есть технические причины, которые заставляют компакт-диск , чтобы быть встроенным в команду.

В другую крайность, есть большие приложения, которые сделаны разными авторами, такие как Firefox или Emacs. Это не собирается быть встроены в любые оболочки, потому что они слишком большие. Но это не принципиальная невозможность, просто вопрос дизайна. Для примера, есть shells1, что есть примитивы для создания простых GUI-приложений.

В середине, есть команды, которые могли бы пойти в любую сторону. Например, Эхо команды не должны быть встроены в оболочку, но почти каждый снаряд построил его, потому что он очень маленький, и используется часто, так что должно быть эффективно. Другой пример - убить, что для повседневного использования может быть внешней команды, но имеющие встроенный имеет несколько преимуществ: вы можете призвать его, даже если вы достигли лимита на количество процессов, и вы можете дать ему Шелл номером задания (убить %2) вместо идентификатора процесса. Даже [ ... ] строительства (который может также быть написан тест) может, в принципе, быть внешняя команда, но построен на снаряды по той же причине, как эхо.

Если вам интересно, вы можете проверить статус данной команды с тип команды. Например, в моей конфигурации:

% тип А тип setenv СР в Emacs
в то время как это зарезервированное слово
тип-раковины встроенные
setenv-это функция оболочки 
СР-это псевдоним для СР -я
Emacs-это /usr/Бен/в Emacs

Зарезервированные слова, такие как время и тогда часть оболочки синтаксис. Примитивы-это команды, встроенные в оболочку и не требует внешнего исполняемого файла. Функции являются составными командами, которые определены и имени пользователя, и может быть названа их именем. Псевдонимы пользовательские короткие имена для длинных команд (ведет себя по-разному из функций). Последний пример-внешняя команда.

1 dtksh. Нет свободной реализации.