Bypass 'noglob' für 'was' in zsh?

3442
Ivar

Ich möchte den Befehl "which" verwenden, um zu sehen, welche ausführbare Datei tatsächlich aufgerufen wird, aber die defensiven 'Noglob'-Aliase stören immer wieder. Gibt es eine Verknüpfung, mit der ich herausfinden kann, welche ausführbare Datei beim Alias ​​des Befehls aufgerufen wird?

Ich denke, das sollte Shell-Agnostiker sein, aber ich verwende zsh, wenn es darauf ankommt.

4

1 Antwort auf die Frage

6
Adaephon

Sie können which -a COMMAND(oder where COMMANDoder whence -ca COMMAND) verwenden, um alle Vorkommen COMMANDim Befehlspfad zu finden .

Zum Beispiel:

% 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 

Da Aliase in der Befehlszeile ersetzt werden, bevor irgendetwas ausgeführt wird, ist der zweite Befehl in der Liste der, nach dem Sie suchen (vorausgesetzt natürlich, dass die erste Zeile auf denselben Namen einen Alias ​​hat).