O que significa !!: significa em bash? [duplicado]

11

Assistindo a um vídeo ( link & link @ 1m: 34s), o apresentador (TJ Holowaychuk) escreveu:

touch !!:2{...}

Não consigo encontrar o que !!:2 significa em qualquer lugar.

Eu recebo o (repita o comando anterior) !! mas, o significado de

!!:2

Eu não sei, não consigo encontrar uma resposta e a pesquisa aqui não retornou resultados, então ... estou preso.

Contexto:

para criar vários diretórios de uma só vez, ele escreveu:

mkdir -p lib/{login,signup,users,posts}

para criar os mesmos arquivos em cada um desses diretórios, ele escreveu:

touch !!:2/{package.json,index.json}

A saída foi:

touch lib/{login,signup,users,posts}/{package.json,index.json}

O resultado foi:

Os dois arquivos foram criados em cada um dos diretórios.

    
por iletras 13.03.2017 / 00:35

1 resposta

16

Você leu errado o que o apresentador digitou. Isso é o que realmente é dado no vídeo:

mkdir -p lib/{login,signup,users,posts}
touch !!:2/{package.json,index.json}

Isso estende a instrução !! para repetir o comando anterior, mas o modificador :2 diz usar o segundo argumento. Então, aqui !!:2 é o componente lib/{login,signup,users,posts} .

    
por 13.03.2017 / 00:54