обойти 'noglob' для 'который' в Zsh?

3377
Ivar

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

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

4

1 ответ на вопрос

6
Adaephon

Вы можете использовать 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 

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

Похожие вопросы