cd /tmp rm -Rf tst err echo 'if [ "$1" == "" ]; then echo "empty"; else cat $1; fi' > tst chmod +x tst echo "a" > err ls err | xargs ./tst # ./tst: 1: [: err: unexpected operator ./tst err # works fine, outputs 'a'
On Ubuntu the error will be shown, on Centos it won't. The error looks to be incorrect.
$ lsb_release -rd Description: Ubuntu 18.04.1 LTS Release: 18.04 $ xargs --version xargs (GNU findutils) 4.7.0-git Copyright (C) 2017 Free Software Foundation, Inc.
cd /tmp
rm -Rf tst err
echo 'if [ "$1" == "" ]; then echo "empty"; else cat $1; fi' > tst
chmod +x tst
echo "a" > err
ls err | xargs ./tst # ./tst: 1: [: err: unexpected operator
./tst err # works fine, outputs 'a'
On Ubuntu the error will be shown, on Centos it won't. The error looks to be incorrect.
$ lsb_release -rd
Description: Ubuntu 18.04.1 LTS
Release: 18.04
$ xargs --version
xargs (GNU findutils) 4.7.0-git
Copyright (C) 2017 Free Software Foundation, Inc.