¿Cómo defino un alias con variables que se pueden cambiar en tiempo de ejecución?

¿Cómo defino un alias con variables que se pueden cambiar en tiempo de ejecución?

Esta es probablemente una pregunta muy fácil de responder, pero no pude encontrar ninguna pregunta que ya la hiciera debido a la diferente redacción al escribir los títulos.

Al ejecutarlo help aliasen mi indicador de bash, solo se devuelve esto:

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

Luego un texto muy breve que no tiene nada que ver con lo que pregunto.

También probé:

help function

Pero eso tampoco me dio mucha información.

Por ejemplo:

 alias mancat="man command | cat"

Para poder ejecutar mancat greplo que sería equivalente a man grep | cat.

Sé que se llaman variables, pero no están definidas y me gustaría poder cambiarlas en cualquier momento, como cuando ejecuto mi comando de ejemplo.

Respuesta1

Necesitas usar la función, no el alias, para que

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

hará lo que quieras.

Similarmente

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

buscará en y luego seleccionará solo las líneas que no coincidan ( ) y al final seleccionará solo la primera (o última) línea grep.pattern1filepattern2grep -v

información relacionada