Por exemplo, digamos que você queira copiar um arquivo como este:
cp path/to/the/file.txt path/to/the/file.copy
É muito frustrante escrever o caminho duas vezes, então existe algo assim com um caractere especial:
cp path/to/the/file.txt :)file.copy
Seria muito útil, especialmente se você estiver tentando diff
dois arquivos no mesmo diretório
Isso se expande para
cp path/to/the/file.txt path/to/the/file.copy
.A expansão de chaves é a melhor opção aqui, mas para ser completo, no bash, você pode usar um "caractere especial" para isso, mas é complicado:
!#:$:h
.!#
: este é um designador de evento de expansão de histórico para "[toda] a linha de comando digitada até agora".:$
é um designador de palavra para o último argumento. Se você quiser usar algum outro argumento que não o último, precisará usar a contagem::1
,:2
, etc.:h
é um modificador para "[r]emover um componente de caminho final, deixando apenas o cabeçalho".Então:
Esses designadores específicos também funcionam da mesma maneira no zsh.