Что делает команда «:»?

Я читал несколько команд на сайте explainhell.com и нашел интересную команду:

:(){ :|:& };: 

В настоящее время я под OSX и единственная ссылка на него, которую я мог найти, была на builtin странице man ( man builtin ), но это не помогло, потому что она говорит только, является ли это внешней, cshell или командой sh.

  Command External csh(1) sh(1) ! No No Yes % No Yes No . No No Yes : No Yes Yes 

Итак, что делает выполнение : делать?

На терминале у меня нет выхода:

 $ : $ 

В этом случае : не является командой, это имя функции, которую вы определяете. Команда :(){ :|:& };: это то, что называется «forkbomb» – это командная последовательность, которая определяет функцию, называемую : сообщает оболочке, что функция состоит из вызова : переводит вывод в другой экземпляр : , и с учетом второго экземпляра. Конечная ;: последовательность завершает определение функции, а затем вызывает ее. Каждый вызов : приводит к еще двум копиям : выполняется, так же быстро, как оболочка может их порождать.
Это приведет к использованию всех системных ресурсов, что в конечном итоге приведет к замедлению или сбою системы, если нет установленного предела процесса.

Если вы не переопределяете это значение, оно имеет значение по умолчанию как no-op. Вы можете увидеть его документацию с help :

 % help : :: : No effect; the command does nothing. A zero exit code is returned. 

Легенда гласит, что давно, на заре Интернета, это был способ поместить текст в ваши сценарии оболочки, которые не будут выполнены. Другими словами, это своего рода комментарий. У меня нет письменного источника для этого.