В AIX (но это происходит и в HP-UX), у меня есть GNU ls на моем пути, и он также называется псевдонимом ls
.
Когда я использую xargs, вместо псевдонима он использует стандартный Unix ls
.
Например ( flocate
это функция, которая находит точный путь к предмету поиска):
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*
Почему xargs не использует ls
псевдоним?
ls
исполняемый файл GNU,$PATH
переменной вашей среды, и предшествует ли он каталогу (возможно/bin
), содержащему не-GNUls
команду? Пожалуйста, обновите ваш вопрос, чтобы показать нам фактическую ценность вашего$PATH
.xargs
выполнит первуюls
команду, найденную в каталоге вашего каталога$PATH
; он не знает об псевдонимах.