Я проголосовал за Джеймса МакЛауда, потому что запуск процесса bash занимает некоторое время, но это не значит, что он будет запускать команды медленнее, чем в UNIX.
Вызов bash -c
из сценария bashпочти бессмысленно, и Makefiles может вызывать много подпроцессов bash, если вы не добавите ; \
в конце команд.
Например, если Makefile имеет следующее:
echo Hello World
echo Good Bye
Это вызовет два процесса bash.Чтобы сделать это быстрее и вызвать только один процесс bash:
echo Hello World; \
echo Good Bye
Debian принял dash вместо bash в качестве основной оболочки, потому что запуск многих сценариев инициализации с использованием bash заставит систему загружаться намного дольше (каждыйскрипт вызывает свой собственный процесс bash).