Como passar parâmetros para um alias no Bash

Publicado por Fábio Berbert de Paula em 20/04/2020

[ Hits: 6.621 ]

Blog: https://fabio.automatizando.dev

 


Como passar parâmetros para um alias no Bash



O título dessa dica é meio que clickbait, por se tratar de uma alternativa a passar parâmetros para um alias no Bash, uma vez que não há esse suporte (não que eu saiba).

Ao invés de criarmos um alias no teu arquivo ~/.bash_profile (ou qualquer outro arquivo de início de seção que queira, seja global ou de usuário) você irá criar uma função.

Como exemplo, vamos criar um "alias" para o comando find passando como parâmetros o diretório e o nome de arquivo. Coisa bem simples. O comando seria:

find [diretorio] -name "[nome_arquivo]" -print

Edite o arquivo ~/.bash_profile e adicione o seguinte bloco de linhas:

busque() {
   find $1 -name "$2" -print
}

Recarregue as configurações ou reinicie a sessão de usuário:

source ~/.bash_profile

Agora basta executar o comando com os parâmetros/argumentos desejados:

busque /etc \*conf
/etc/request-key.conf
/etc/firebird/3.0/plugins.conf
/etc/firebird/3.0/fbintl.conf
/etc/firebird/3.0/firebird.conf
/etc/firebird/2.5/fbtrace.conf
/etc/firebird/2.5/aliases.conf
/etc/firebird/2.5/fbintl.conf
...


O comando acima seria similar ao digitar:

find /etc -name "*conf" -print

Até a próxima!

Outras dicas deste autor

Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!

Como evitar que o CSS do teu site fique armazenado em cache

Baixando arquivos de FTP recursivamente

Verificar bateria do mouse bluetooth via linha de comando

Graduação em TI via EAD - Curso gratuito de 600h pela CECIERJ

Leitura recomendada

IP em modo texto (modem router)

Canivete suíço em bash

Automoatizar backup no pfSense

Bloquear mais de uma execução simultânea do script (bash)

Minha solução para monitorar múltiplos termômetros no Slackware

  

Comentários
[1] Comentário enviado por dix em 20/04/2020 - 18:08h

Muito bom! Eu uso bastante no ~/.bash_aliases:
alias duckg='_duckgo(){ q="${@}";lynx https://duckduckgo.com/html?q="${q// /+}"; };_duckgo'



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts