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č.