Supposons que j'ai un alias dans le shell bash. Existe-t-il une commande simple permettant d’imprimer quelle commande l’alias sera exécuté?
command-line
bash
alias
Casebash
la source
la source
type
jusqu'à ce que vous frappiez autre chose qu'un alias ...type
elle analysera / interprétera toutes les citations afin que vous puissiez vous assurer que les citations sont exactes.ls is aliased to 'ls --color=auto'
, mais comment puis-je approfondir une couche pour savoir si elle utilise / bin / ls ou / usr / local / bin / ls ou quoi?type -a ls
affichera toutes les commandes ls trouvées par ordre de préférence. Celui qui est juste en dessous du pseudonyme est celui qui sera exécuté par le pseudonyme.Il suffit de taper
alias
à l'invite du shell. Il devrait générer une liste de tous les alias actuellement actifs.Vous pouvez également taper
alias [command]
pour voir à quel alias spécifique est associé, par exemple, si vous souhaitez savoir à quoi il correspondls
, vous pouvez le fairealias ls
.la source
alias ls
pour savoir ce quils
est spécifiquement aliasé.type
cependant, fonctionne dans les deux cas.J'aime beaucoup Ctrl+ Alt+, Ecomme j'ai appris de cette réponse . Il "développe" la ligne de commande actuellement typée, ce qui signifie qu'il effectue le développement d'alias (entre autres).
Qu'est-ce que ça veut dire? Il transforme n'importe quel alias, qui pourrait être actuellement écrit sur la ligne de commande, en ce que cet alias signifie.
Par exemple, si je tape:
puis appuyez sur Ctrl+ Alt+ E, il est transformé en
la source
squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R
au lieu desqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
À proprement parler, la bonne réponse consiste à utiliser le tableau BASH_ALIASES, par exemple:
la source
ls
alias actuel sans modifier ce qui y est. Alors je vaisalias ls="${BASH_ALIASES[ls]} --time-style=iso"
pour mon cas.Vous pouvez utiliser la
which
commande.Si vous définissez un alias pour
ls
asls -al
puis tapezwhich ls
, vous verrez:ls: aliased to ls -al
.la source
which
commande.which
est un mauvais moyen de rechercher des alias, comme expliqué ici: unix.stackexchange.com/questions/10525/… Cela ne fonctionne même pas pour moi pour les alias dans bash sur Ubuntu.