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.