Sur AIX (mais cela se produit également sur HP-UX), j'ai des GNU ls sur mon chemin et il est également alias comme ls.
Lorsque j'utilise xargs, il utilise à la lsplace l' Unix standard au lieu de l'alias.
Par exemple ( flocateest une fonction qui trouve le chemin exact du sujet de recherche):
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*
Pourquoi xargs n'utilise-t-il pas l' lsalias?
lsexécutable GNU se trouve-t-il dans votre$PATHvariable d'environnement et précède-t-il (probablement/bin) le répertoire contenant lalscommande non GNU ? Veuillez mettre à jour votre question pour nous montrer la valeur réelle de votre$PATH.xargsexécutera la premièrelscommande qu'il trouve dans un répertoire de votre$PATH; il ne connaît pas les alias.