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

Я читал несколько команд на сайте 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 

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

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

 $ : $ 

2 Solutions collect form web for “Что делает команда «:»?”

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

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

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

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

  • «trap» killall $$; rm -f $ folder2; exit '18 20 24
  • Как я могу обернуть расширение переменной в кавычки?
  • Как читать весь скрипт оболочки перед его исполнением?
  • Мне нужен сценарий оболочки для преобразования файла csv в файл с ограничениями (|), сохраняя запятые внутри закрывающих котировок
  • Добавление чисел из результата grep
  • SH: Как сделать vars из одного скрипта доступным в главном скрипте?
  • Как заставить vi работать в однопользовательском режиме?
  • Как читать определенные строки после поиска текста?
  • Как использовать `which` в команде aliased?
  • Неизвестная команда «vftovp» в истории команд Linux
  • Почему переменные non-environment передаются в подсхлу, вызванную заменой команды?
  • Interesting Posts

    Разрешить пользователю видеть, сколько правил iptables загружено, но не фактическое содержимое?

    Сохранение и восстановление полного образа диска

    Ключ LUKS от известного пароля?

    Убивание Баша меня сбивает с толку

    Как я могу запустить сценарий рекурсивно в каталоге

    Почему `rename` ведет себя по-разному, когда я использую полный путь вместо текущего пути?

    как распаковывать / распаковывать сегментированные zip-файлы?

    Как установить mod_mono на Linux Mint?

    Классификация файлов файлов Linux

    Поиск папок определенного возраста, затем фильтра для заданного размера и удаления соответствующих папок?

    Конфигурации SSL для промежуточного сертификата

    Слишком много установки и удаления?

    Виртуальный интерфейс и различные IP-адреса

    Есть ли способ редактировать заголовок самого GNU GRUB2 (а не название записи в меню)?

    Перемещение удаленного файла в командной строке FTP

    Linux и Unix - лучшая ОС в мире.