ignora 'noglob' para 'which' em zsh?

4

Eu quero usar o comando 'which' para ver qual executável está realmente sendo invocado, mas os aliases 'noglob' defensivos continuam atrapalhando. Existe um atalho que eu possa usar para encontrar qual executável é invocado quando o comando é aliado?

Acho que isso deve ser agnóstico em relação ao shell, mas estou usando o zsh se isso for importante.

    
por Ivar 21.05.2014 / 01:38

1 resposta

6

Você pode usar which -a COMMAND (ou where COMMAND ou whence -ca COMMAND ) para localizar todas as ocorrências de COMMAND no caminho do comando.

Por exemplo:

% 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

Como aliases são substituídos na linha de comando antes de qualquer coisa ser executada, o segundo comando na lista é o que você está procurando (supondo, é claro, que a primeira linha seja de algum modo aliada ao mesmo nome)

    
por 21.05.2014 / 09:53

Tags