Estas são bash
palavras-chave de expansão do histórico . Eles selecionam uma linha do histórico da shell e reinserem (partes dela), possíveis após a modificação. O site que você vinculou faz um trabalho razoável explicando-os, mas não descreve todos eles.
tar zxvf !#:t
na verdade não faz sentido: !#
seleciona a linha digitada até agora, mas isso é tar zxvf
e não queremos reutilizar nada disso. Deve ser
tar zxvf !$:t
que seleciona a última parte da linha anterior ( !$
), que é o URL dado a wget
, e pega a parte do nome do arquivo ( :t
, para tail - estritamente falando, é o que resta após o último diretório separador, /
, que funciona bem com URLs).
Então
chown -R root:root !$:r:r
seleciona a última parte da linha anterior, descarta a extensão do arquivo ( :r
- estritamente falando, remove qualquer coisa após o último .
, incluindo o .
) duas vezes, o que dá o nome do diretório (assumindo o tarball contém um diretório com o mesmo nome que o nome base do tarball). Os comandos chmod
e cd
procedem da mesma maneira.