Esta fork fork é descrita aqui
No bash, uma função pode ser definida
function_name() { ... }
em que ...
é a implementação ou o corpo da função
:(){ ... }
define uma função chamada :
.
:|:
executa a função dentro de si - isto é, recursivamente, e canaliza sua saída para outra invocação de si mesma.
&
executa o comando anterior em segundo plano.
Então, isso nos dá :(){:|:&}
para definir essa função
;
separa o comando que define a função do seguinte comando na mesma linha (como cd;pwd
)
:
é uma invocação de comando final que começa a executar a função recém-definida.
Normalmente, espero que os limites por usuário em processos ou outros recursos limitem o efeito de uma bifurcação desse tipo. A Wikipédia tem uma descrição de desarmar uma bifurcação
Adendo: Depois de escrever esta resposta, notei que esta questão era uma duplicata de
- O que esse comando críptico de Bash significa?
- Por que este comando trava o Linux
- Que este comando: () {: |: & } ;: faz?
Outras questões relacionadas