¿Cómo ver el comando adjunto a un alias de bash?

¿Cómo ver el comando adjunto a un alias de bash?

Supongamos que tengo un alias en el shell bash. ¿Existe un comando simple para imprimir qué comando ejecutará el alias?

Respuesta1

El typeincorporado es útil para esto. No sólo le informará sobre alias, sino también funciones, funciones integradas, palabras clave y comandos externos.

$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep () 
{ 
    ps -ef | { 
        read -r;
        printf '%s\n' "$REPLY";
        grep --color=auto "$@"
    }
}

type -a cmdmostrará todos los comandos con ese nombre en orden de precedencia, lo cual es útil para el lsalias anterior, donde el propio alias llama ls.

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

Esto le indica que cuando ejecute ls, /bin/lsse usará y --color=autose incluirá en su lista de argumentos, además de cualquier otro que agregue usted mismo.

Respuesta2

Simplemente escriba aliasmientras se encuentra en el indicador de Shell. Debería generar una lista de todos los alias activos actualmente.

O bien, puede escribir alias [command]para ver a qué alias específico se le asigna el alias; por ejemplo, si desea saber a qué lsalias se le asigna el alias, puede hacer alias ls.

Respuesta3

Me gusta mucho Ctrl+ Alt+ Ecomo aprendí deesta respuesta. "Amplía" la línea de comando actualmente escrita, lo que significa que realiza una expansión de alias (entre otras cosas).

¿Qué significa eso? Convierte cualquier alias, que pueda estar escrito actualmente en la línea de comando, en lo que representa el alias.

Por ejemplo, si escribo:

$ ls

y luego presione Ctrl+ Alt+ E, se convierte en

$ ls --time-style=locale --color=auto

Respuesta4

Podrías usar el whichcomando.

Si establece un alias para lsas ls -aly luego escribe which ls, verá:

ls: aliased to ls -al.

información relacionada