Как увидеть команду, прикрепленную к псевдониму bash?

Предположим, у меня есть псевдоним в оболочке bash. Есть ли простая команда, чтобы распечатать, какую команду будет выполнять псевдоним?

То type встроенный модуль полезен для этого. Он расскажет вам не только об псевдонимах, но и о функциях, встроенных файлах, ключевых словах и внешних командах.

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

type -a cmd покажет все команды с этим именем в порядке приоритета, что полезно для ls псевдоним выше, где сам псевдоним вызывает ls.

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

Это говорит вам о том, что когда вы запускаете ls, /bin/ls будет использоваться, и --color=auto будут включены в его список аргументов в дополнение к любым другим, которые вы добавите сами.

Просто введите alias находясь в командной строке командной строки. Он должен вывести список всех активных в данный момент псевдонимов.

Или же вы можете ввести alias [command] чтобы увидеть, к какому конкретному псевдониму относится псевдоним, в качестве примера, если вы хотите узнать, что ls псевдоним был присвоен псевдониму, вы могли бы сделать alias ls.

Мне очень нравится Ctrl+Alt+E как я узнал от этот ответ. Он "расширяет" введенную в данный момент командную строку, что означает, что он выполняет расширение псевдонима (среди прочего).

Что это значит? Он превращает любой псевдоним, который в данный момент может быть записан в командной строке, в то, что обозначает псевдоним.

Например, если я наберу:

$ ls

а затем нажмите Ctrl+Alt+E, он превращается в

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

Строго говоря, правильным ответом является использование массива BASH_ALIASES, например:

$ echo ${BASH_ALIASES[ls]}ls -F --color=auto --show-control-chars

Вы могли бы использовать which команда.

Если вы задаете псевдоним для ls как ls -al а затем введите which ls, вы увидите:

ls: aliased to ls -al.

На терминале

$ alias | grep ALIAS

Выходы

ALIAS='some_command'

Заменять ALIAS с вашим псевдонимом.