Criando Alias para personalizar comandos no linux
Em uma coisa que temos que concordar, que o terminal do linux não é para qualquer um.
Imagine ter que digitar no terminal sudo apt install pacote xxx
para quem conhece já o mundo linux isso é a coisa mais simples, mas para quem é um usuário que acabou de sair do Windows, pode parecer isso...
O terminal do Linux existe para facilitar as coisas para o usuário.
Algo muito útil pro nosso dia-a-dia, são os Aliases do sistema. Pequenos “apelidos” que, corretamente configurados, nos ajudam na hora de digitar comandos enormes ou abreviar comandos que geralmente digitamos.
Configurando Aliases
Primeiramente criamos um arquivo no diretório Home, para isso usarei o Vim e se você está lendo isso eu consegui sair dele, mas fique a vontade a utilizar seu editor de texto que preferir.
Com o editor aberto, vamos em salvar como escolhemos o diretório Home e o nome do arquivo como .bash
ou .zshrc
o ponto na frente do arquivo é muito importante, pois assim ele ficara oculto, então para exibir o arquivo é só apertar Ctrl+h e o sistema exibira todos os arquivos ".ocultos", aperte novamente e os arquivos voltaram a ser ocultos.
Sintaxe
Com o arquivo ainda aberto, podemos criar as nossas aliases, seguindo sempre a sintaxe:
alias novocomando=’comando normal do sistema
Ficando algo assim:
alias atualizar=’sudo apt-get upgrade’
Assim criando o apelido atualizar para chamar o comando sudo apt-get upgrade. Após a configuração do aliases, você pode atualizar o sistema com um simples atualizar no terminal.
O apelido dado a um comando fica a critério do próprio usuário. Apenas tenha o cuidado de não dar apelidos que sejam comandos existentes no bash.
Uma dúvida, se a pessoa tentar colocar um alias para algum comando já existe, por exemplo apt update, o sistema retornaria algum erro ou apenas iria sobrescrever?
Não to no Linux no momento para fazer esse teste.
Uma outra dica legal é o que conseguimos fazer com funções dentro nos nossos arquivos .zshrc ou .bashrc. Podemos, por exemplo, criar uma função 'php' para utilizar uma imagem do docker permitindo a utilização da CLI do PHP sem a instalação do mesmo diretamente na máquina. Ficaria assim:
php() {
docker run --rm --interactive --tty \
--volume $PWD:/app \
php:7.4 $@
}
Esta função roda a imagem 'php:7.4' do docker no modo interativo (--interactive), permitindo que comandos sejam executados enquanto o container está rodando e alocando uma sessão de terminal com o container (--tty). E com o parâmetro --rm eu defino que o container será destruído após o término da execução do comando.
Eu ainda crio um volume apontando o $PWD, a pasta onde o comando está sendo executado, como '/app' dentro do meu container e passo a expressâo '$@' informando que as outras opções passadas a função serão adicionadas ao comando do docker. Sendo assim, caso eu digite php -S 0.0.0.0:8080
um servidor PHP será iniciado utilizando a versão 7.4 do PHP, especificada pela imagem do docker, na raiz de onde o comando foi executado.
Caso seja a primeira execução a imagem será baixada e logo após o comando será executado.
O exemplo foi um pouco mais complexo mas acredito que serve bem pra exemplificar o poder desse tipo de ferramenta.
lado negativo: hoje não sei quase nenhum comando git
por causa disso. :eyes: