Qual é o significado do comando “:() {: |: &}; : ”Com casca? [duplicado]


Respostas:


6

Esta bomba de garfo é descrita aqui

No bash, uma função pode ser definida

function_name() { ... }

onde ...está 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 :(){:|:&}permite definir essa função

 ;

separa o comando que define a função do seguinte comando na mesma linha (como cd;pwd)

 :

é uma chamada de comando final que começa a executar a função recém-definida.


Normalmente, eu espero que os limites por usuário de processos ou outros recursos limitem o efeito de um fork bomb desse tipo. A Wikipedia tem uma descrição de desarmar uma bomba de garfo


Adendo: Depois de escrever esta resposta, notei que esta pergunta era uma duplicata de

Outras questões relacionadas


E também relacionado Por que o espaço em branco às vezes é necessário em torno de metacaracteres? com uma história gira em torno de :)
fedorqui
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.