Em exibição:
$ echo "$fileSize" | od -c
0000000 1 8 2 5 \r \n
0000006
$ echo "$downloadedSize" | od -c
0000000 1 8 2 5 \n
0000005
mostra que no primeiro caso há um retorno de carro anexado ao valor (os cabeçalhos http têm as terminações de linha: CRLF) enquanto a segunda variável está correta. Tira o CR ( \r
) e seu teste funcionará. por exemplo:
fileSize=$( curl http://linux.die.net/include/sys/ioctl.h --head |
awk '/Content-Length/ {gsub("\r",""); print $2; exit}')