Oh querida, pipeline tripla ssh com loop e xargs inúteis, você encontrou a pior maneira de fazer isso.
O \r
que você está vendo parece ser uma sobra da nova linha que está passando pelo canal. Você deve remover a opção -t
, pode ser a causa de seus problemas. Saída destinada a exibir em terminais virtuais é diferente do fluxo normal.
Além disso, echo ${path1} | xargs
é completamente supérfluo, apenas execute find ${path1}
, você só tem uma linha de entrada para xargs
de qualquer forma. O mesmo vale para o segundo xargs
. Claro, você pode colocar tudo em find
. Experimente:
ssh root@"${sourcenode}" "find ${path1} -printf 'chmod %m \"f\"\n'"
E canalize isso para o próximo comando ( NOT em um loop bash local, mas alimente-o diretamente no ssh para destnode).