Não há razão para escrever um arquivo de script, existem comandos para fazer isso sem script.
O comando diff
irá mostrar as diferenças:
diff -r dir1/ dir2/
( -r
= Comparar recursivamente quaisquer subdiretórios encontrados, consulte o Manual ) imprimirá a lista dos arquivos que estão localizados apenas em qualquer diretório.
Se você também quiser verificar se os arquivos com o mesmo nome também são idênticos no conteúdo, use
diff --brief -r dir1/ dir2/
( --brief
= Saída somente se os arquivos forem diferentes).
Se você quiser ver as diferenças também para arquivos que existem no diretório somente um , tratando suas contrapartes como vazias, você pode usar
diff --brief -Nr dir1/ dir2/
( -N
= Tratar arquivos ausentes como vazios).
Se você quiser realizar a operação, o comando
cp -Rnl dir1/ dir2/
fará isso por você. Observe que -R
= copiar diretórios recursivamente (novamente no Manual ), enquanto -n
= não sobrescrever um arquivo existente.