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

231

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

    
задан Casebash 07.02.2012 в 04:24
источник

5 ответов

307

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

$ 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 "$@"
    }
}
    
ответ дан geirha 12.02.2012 в 10:52
источник
110

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

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

ответ дан Thomas Ward 07.02.2012 в 04:30
50

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

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

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

$ ls

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

$ ls --time-style=locale --color=auto
    
ответ дан Oliver Salzburg 13.02.2012 в 18:52
5

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

$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
    
ответ дан noonex 13.01.2017 в 13:12
1

Вы можете использовать команду which .

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

ls: aliased to ls -al .     

ответ дан user312471 05.08.2014 в 09:36