O ^M
em 02-18-Harburg/^M/2017/
é o caractere de retorno de carro. Seu script tem uma terminação de linha CRLF no estilo Windows, portanto, o caminho rsync
vê, é /share/02-18-Harburg/<CR>
. Cria obedientemente um caminho com esse nome.
(A notação ^M
geralmente se refere a pressionar Ctrl + M . Uma notação mais comum para o retorno de carro como um caractere é \r
.)
Corrija a linha que termina no script com algo como dos2unix
ou sed -i 's/\r//' script
(assumindo o GNU sed).
ls
não gosta de enviar caracteres especiais em nomes de arquivos para o terminal, então imprime um ?
. O que é realmente uma coisa boa aqui, já que você não pode ver o CR real no terminal. Use ls --quoting-style=shell-escape
para imprimir os nomes dos arquivos em um formato menos ambíguo.