Supponiamo di avere un alias nella shell bash. C'è un semplice comando per stampare quale comando verrà eseguito l'alias?
Supponiamo di avere un alias nella shell bash. C'è un semplice comando per stampare quale comando verrà eseguito l'alias?
Il% built-in% co_de è utile per questo. Non ti dirà solo di alias, ma anche funzioni, builtin, parole chiave e comandi esterni.
$ 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;
echo "$REPLY";
grep --color=auto "[email protected]"
}
}
Digitate alias
mentre siete al prompt di Shell. Dovrebbe generare un elenco di tutti gli alias attualmente attivi.
Oppure puoi digitare alias [command]
per vedere a cosa serve un alias specifico, ad esempio, se vuoi scoprire a che cosa è associato l'alias ls
, potresti fare alias ls
.
Mi piace molto Ctrl + Alt + E come ho imparato da questa risposta . "Espande" la riga di comando attualmente digitata, il che significa che esegue l'espansione dell'alias (tra le altre cose).
Che cosa significa? Trasforma qualsiasi alias, che potrebbe essere attualmente scritto sulla riga di comando, in ciò che l'alias rappresenta.
Ad esempio, se digito:
$ ls
e quindi premi Ctrl + Alt + E , viene trasformato in
$ ls --time-style=locale --color=auto
La risposta corretta in senso stretto sta usando l'array BASH_ALIASES, ad esempio:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
Potresti usare il comando which
.
Se imposti un alias per ls
come ls -al
e poi scrivi which ls
, vedrai:
ls: aliased to ls -al
.
Leggi altre domande sui tag command-line bash alias