Como passar parâmetros para um alias no Bash

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

[ Hits: 6.528 ]

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

Criando um despertador usando crontab e mpg123

Python - UnicodeDecodeError: 'utf-8' codec can't decode byte [Resolvido]

SED - salvar resultados em novo arquivo

Redirecionando porta de saída no IPTABLES

Como fazer print() sem quebra de linha em Python

Leitura recomendada

Configuração de placas de vídeo nVidia através do module assistant

Clonezilla Live no pendrive ou HD externo

Script para avisar compromissos

Solucionando problemas com o xmessage no wine

Como substituir caracteres acentuados pelos equivalentes não-acentuados

  

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