Como passar parâmetros para um alias no Bash

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

[ Hits: 6.626 ]

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

Alterando nome de placa de rede FÁCIL usando arquivos de LINK

online_man - Páginas de manual online no terminal

Vim - fazer JOIN de múltiplas linhas

Site de depuração e aprendizado de expressões regulares

Capturando sua tela em forma de vídeo com xvidcap

Leitura recomendada

Showterm: screencast pelo terminal

basename - Inserindo ponto separador de milhar em expressão numérica

ShellSpeak - Para pessoas com deficiência de fala

Baixando arquivos grandes demais para a sua conexão.

Deixe seu Xubuntu com a cara do macOS

  

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