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

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

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

решение1

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

$ 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 cmdпокажет все команды с этим именем в порядке приоритета, что полезно для lsпсевдонима выше, где сам псевдоним вызывает ls.

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

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

решение2

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

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

решение3

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

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

Например, если я введу:

$ ls

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

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

решение4

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

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

ls: aliased to ls -al.

Связанный контент