Você precisa de opções -r
ou --no-run-if-empty
.
Tenha em mente que esse comportamento em particular é difícil de criar em várias plataformas.
As versões BSD de xargs
são executadas com -r
por padrão. A versão GNU precisa disso. A versão do FreeBSD de xargs
ignora o sinal -r
para compatibilidade com o GNU. A versão do Mac OS X nem aceita o sinalizador e lança um erro illegal option
.
Você pode optar por usar uma detecção de sistema operacional baseada em $OSTYPE
para escrever um script entre plataformas.
Melhor ainda, tente detectar o comportamento de xargs
em si. Execute-o com -r
e se isso falhar (código de status > 0), execute-o sem -r
.