Pular para o conteúdo

Como passar parâmetros para um alias no Bash

Dica publicada em Shell Script / Miscelânea
Fábio Berbert de Paula fabio
Hits: 7.005 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

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!

Automatizando o processo de backup do MySQL

Alterando a porta 3000 de um projeto em React ou NodeJS

O comando man

VLC para Android

Instalar MongoDB 4.4 no Debian 10 Buster

Usando comandos *nix portados para Windows

LTSP + Sound Blaster + Som

Base de dados mais organizada em shell script

Backup em fita DLT: Selecionando diretórios através de arquivos de parâmetros

Shell In A Box - Acessando o Shell Linux pelo Navegador Web

#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

Entre na sua conta para comentar.