En AIX (pero esto también sucede en HP-UX), tengo GNU ls en mi camino y también tiene el alias ls
.
Cuando uso xargs, en su lugar usa el Unix estándar en ls
lugar del alias.
Por ejemplo ( flocate
es una función que encuentra la ruta exacta del tema de búsqueda):
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*
¿Por qué los xargs no usan el ls
alias?
ls
ejecutable en su$PATH
variable de entorno, y precede al directorio (probablemente/bin
) que contiene ells
comando que no es GNU ? Actualice su pregunta para mostrarnos el valor real de su$PATH
.xargs
ejecutará el primerls
comando que encuentre en un directorio en su$PATH
; No sabe sobre alias.