4

Я хочу использовать команду 'which', чтобы увидеть, какой исполняемый файл действительно вызывается, но защитные псевдонимы 'noglob' продолжают мешать. Есть ли ярлык, который я могу использовать, чтобы определить, какой исполняемый файл вызывается при псевдониме команды?

Я думаю, что это должно быть независимым от оболочки, но я использую zsh, если это имеет значение.

1 ответ1

6

Вы можете использовать, which -a COMMAND (или where COMMAND или whence -ca COMMAND), чтобы найти все вхождения COMMAND в пути команды.

Например:

% alias ls='noglob ls'
% ls () /bin/ls
% which ls
ls: aliased to noglob ls
% which -a ls
ls: aliased to noglob ls
ls () {
        /bin/ls
}
/bin/ls

Поскольку псевдонимы заменяются в командной строке перед выполнением чего-либо, вторая команда в списке - это та, которую вы ищете (при условии, конечно, что первая строка каким-то образом имеет псевдоним с тем же именем)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .