Como passar parâmetros para um alias no Bash
Dica publicada em Shell Script / Miscelânea
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:
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!
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
}
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!
alias duckg='_duckgo(){ q="${@}";lynx https://duckduckgo.com/html?q="${q// /+}"; };_duckgo'