NEBEZPEČÍ!
Nespouštějte tento příkaz, abyste jej ‚testovali‘, pokud nejste připraveni na havárii a/nebo vynucené restartování systému.
Zkoušel jsem ve svém Virtualboxu se systémem 12.04 zkompilovat aplikaci a během čekání jsem náhodou narazil na fórum, kde se v komentáři psalo:
Zkuste
:(){ :|: & };:
Také zábava a nepotřebuje root.
Bez přemýšlení jsem to spustil ve svém gnome-terminálu. Můj 12.04 (ve Virtualboxu) se tak zpozdil, že jsem ho musel vypnout.
Moje otázka zní, co tento příkaz dělá?
:(){ :|:&};:
Nejlepší odpověď
Tomu se říká vidlicová bomba.
:() znamená, že definujete funkci s názvem :
{:|: &} znamená spustit funkci : a jeho výstup odešlete do : znovu spustit funkci a spustit ji na pozadí.
; je oddělovač příkazů.
: spustí funkci poprvé.
V podstatě vytváříte funkci, která se volá dvakrát při každém volání a nemá žádný způsob, jak se ukončit. Bude se neustále zdvojnásobovat, dokud vám nedojdou systémové prostředky.
Spuštění ve Virtualboxu bylo docela rozumné, jinak byste museli restartovat počítač.