
Предположим, у меня есть псевдоним в оболочке 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
Просто введите alias
while в командной строке Shell. Он должен вывести список всех активных в данный момент псевдонимов.
Или вы можете ввести текст, alias [command]
чтобы узнать, чему соответствует определенный псевдоним. Например, если вы хотите узнать, чему ls
соответствует псевдоним, вы можете сделать alias ls
.
решение3
Мне очень нравится Ctrl++ Alt, Eкак я узнал изэтот ответ. Он «расширяет» текущую введенную командную строку, то есть выполняет расширение псевдонима (помимо прочего).
Что это значит? Он превращает любой псевдоним, который в данный момент может быть написан в командной строке, в то, что он обозначает.
Например, если я введу:
$ ls
а затем нажмите Ctrl+ Alt+ E, он превратится в
$ ls --time-style=locale --color=auto
решение4
Вы можете использовать which
команду.
Если вы установите псевдоним для ls
as ls -al
и затем введете which ls
, вы увидите:
ls: aliased to ls -al
.