Dada a simplicidade do seu loop while, faz mais sentido usar xargs
para sua tarefa. Também deve ser mais rápido, embora eu duvide que o diretório test/
seja grande o suficiente para notar.
find test/ -type f -print0 |xargs -0 cp -ipt app/
Observe que -t
é uma extensão do GNU. Se isso for problemático, você precisará de algo assim (para fazer isso com o GNU xargs
, altere o -J
para um -I
):
find test/ -type f -print0 |xargs -0 -J % cp -ip % app/
Eu usei find -print0
e xargs -0
, então isso funcionará mesmo quando seus arquivos tiverem espaços em seus nomes.