Quando comecei a usar o shell Bash muitos anos atrás, eu estava relutante em definir aliases para usar no caso de eu me tornar dependente deles e então me perderia em um sistema diferente que não tivesse meus aliases de shell definidos .
Para repetir comandos complicados, como o comando rsync
, usei o recurso Ctrl-R no Bash, que permite pesquisar o histórico do shell para um comando inserido anteriormente.
No entanto, isso não é confiável e depois de alguns anos, cheguei à conclusão de que não usar aliases era apenas bobagem. Eles foram inventados décadas atrás (podemos agradecer a Bill Joy, criador da shell C † ) por uma boa razão: é preciso tempo e esforço para digitar comandos longos.
A maioria das pessoas não consegue lembrar facilmente de comandos longos, especialmente se os usarem apenas esporadicamente e o comando rsync
acima é um caso de uso perfeito para um alias, pois também não precisa de argumentos (nesse caso, um função shell seria usada).
Além disso, se você precisar usar um comando semelhante, ter aliases armazenados nos arquivos de inicialização do shell economizará tempo, já que você não precisa procurar os detalhes do comando de uma fonte externa.
Atualmente, é comum que os usuários armazenem seus aliases de shell personalizados, funções, arquivos de configuração e scripts em um servidor, para que possam ser recuperados ao usar um sistema novo ou diferente. Alguns usam o Dropbox, outros GitHub, enquanto outros enviam para o seu próprio espaço web pessoal. Dessa forma, as personalizações de shell estão sempre disponíveis para eles.
Conclusão / TLDR
Usar esses aliases é uma boa prática, economiza tempo e é digitado - e é a razão pela qual eles foram criados. Salvá-los em arquivos de inicialização de shell, como .zshrc
, significa que eles sempre estarão disponíveis para você e são considerados práticas recomendadas para usuários de shells Unix.
Veja também
Quando alias, quando escrever e quando escrever uma função
Referência
† Veja o que Bill Joy diz sobre os apelidos em seu Introdução ao shell C :
This mechanism can be used to simplify the commands you type, to supply default arguments to commands, or to perform transformations on commands and their arguments.