Como passar parâmetros para um alias no Bash

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

[ Hits: 6.813 ]

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

Como Instalar as Fontes TrueType da Microsoft no Debian 12

Como converter um vídeo MP4 para um GIF para publicar no README.md do seu repositório Github

Jogando Gamão no GNU/Linux e no FIBS

Erro: Python - invalid command 'bdist_wheel' [Resolvido]

Vim - fazer JOIN de múltiplas linhas

Leitura recomendada

FATAL: Module ndiswrapper not found - Linux Mint Debian

Entrando com argumentos em shell script

Verificando disco de backup e enviando e-mail

myip - Comando que retorna somente o IP

Ordenando strings em shell script

  

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