Unter AIX (aber dies passiert auch unter HP-UX) habe ich GNUs in meinem Pfad und es ist auch als Alias gekennzeichnet ls
.
Aber wenn ich xargs benutze, verwendet es das Standard-Unix ls anstelle des Alias.
Zum Beispiel ( flocate
ist eine Funktion, die den genauen Pfad des Suchobjekts findet):
flocate mirrorvg | xargs ls -lh
ls: illegal option -- h
usage: ls [-1ACFHLNRSabcdefgiklmnopqrstuxEUX] [File...]
ls -lh /usr/sbin/mirrorvg
-r-xr-x--- 1 root system 37K apr 3 2014 /usr/sbin/mirrorvg*
Warum verwendet xargs den ls
Alias nicht?
ls
ausführbaren GNU- Datei in Ihrer$PATH
Umgebungsvariablen und steht es (wahrscheinlich/bin
) vor dem Verzeichnis, das den Nicht-GNU-ls
Befehl enthält? Bitte aktualisieren Sie Ihre Frage, um uns den tatsächlichen Wert Ihrer zu zeigen$PATH
.xargs
führt den erstenls
Befehl aus, den es in einem Verzeichnis in Ihrem findet$PATH
; es weiß nichts über Aliase.