Como defino o alias com variáveis ​​que podem ser alteradas em tempo de execução?

Como defino o alias com variáveis ​​que podem ser alteradas em tempo de execução?

Esta é provavelmente uma pergunta muito fácil de responder, mas não consegui encontrar nenhuma pergunta já feita devido às diferentes palavras ao escrever os títulos.

A execução help aliasno meu prompt do bash retorna apenas isto:

alias: alias [-p] [name[=value] ... ] 

Depois um texto muito curto que não tem nada a ver com o que estou perguntando.

Eu também tentei:

help function

Mas isso também não me deu muita informação.

Por exemplo:

 alias mancat="man command | cat"

Para que eu pudesse executar mancat grepo que seria equivalente a man grep | cat.

Eu sei que isso é chamado de variáveis, mas elas são indefinidas e eu gostaria de poder alterá-las a qualquer momento, como ao executar meu comando de exemplo.

Responder1

Você precisa usar função, não alias, para que

mancat () { man "$1" | cat ; }
mancat grep

fará o que você quiser.

De forma similar

mygrep () { "$1" "$3" "$2" | "$1" -v "$4" | "$5" -n1; }
mygrep grep pattern1 file pattern2 head
mygrep grep pattern1 file pattern2 tail

irá greppara pattern1no filee, em seguida, selecione apenas as linhas que não correspondem pattern2( grep -v) e no final selecione apenas a primeira (ou última) linha.

informação relacionada