Trên AIX (nhưng điều này cũng xảy ra trên HP-UX), tôi có GNU ls trong đường dẫn của mình và nó cũng có biệt danh là ls.
Khi tôi sử dụng xargs, nó thay vào đó sử dụng Unix tiêu chuẩn lsthay vì bí danh.
Ví dụ: ( flocatelà một hàm tìm đường dẫn chính xác của chủ đề tìm kiếm):
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*
Tại sao xargs không sử dụng lsbí danh?
lsthực thi được trong$PATHbiến môi trường của bạn và nó có đứng trước thư mục (có thể/bin) có chứa lệnh không phải GNUlskhông? Vui lòng cập nhật câu hỏi của bạn để cho chúng tôi thấy giá trị thực tế của bạn$PATH.xargssẽ thực thi lệnh đầu tiênlsmà nó tìm thấy trong một thư mục trong của bạn$PATH; nó không biết về bí danh.