Acho que o problema é o espaço entre " conv=noerror,
" e " sync
", embora eu não receba exatamente o mesmo erro que você:
$ dd if=/dev/null of=/dev/null bs=128m conv=noerror, sync # With space, fails
dd: unknown conversion
$ dd if=/dev/null of=/dev/null bs=128m conv=noerror,sync # Without space, works
0+0 records in
0+0 records out
0 bytes transferred in 0.065054 secs (0 bytes/sec)
... mas a mensagem de erro recebida é diferente. Geralmente, a mensagem "conversão desconhecida" listará a conversão desconhecida:
$ dd if=/dev/null of=/dev/null bs=128m conv=noerror,wibble
dd: unknown conversion wibble
Acho que o que está acontecendo é que o shell analisa conv=noerror, sync
como dois argumentos, "conv = noerror" e "sync", e depois dd
analisa o primeiro como especificando duas conversões, "noerror" e "" (já que não há nada após a vírgula) e reclama que a opção "" é desconhecida.
Mas esse não é o erro que você está recebendo; o seu realmente lista "sincronização" como a opção desconhecida. A única coisa em que consigo pensar é que você pode ter algo como um espaço ininterrupto entre o "," e o "sync". Nesse caso, o shell o tratará como apenas parte do argumento e passará "conv = noerror, sync" como um único argumento; dd
analisará isso como duas opções e exibirá a mensagem de erro "dd: unknown option sync":
$ dd if=/dev/null of=/dev/null bs=128m conv=noerror, sync # That's a nonbreaking space
dd: unknown conversion sync
^ That's also a nonbreaking space
De qualquer forma, remova o espaço (seja ele qual for) e deve funcionar.
if
eof
valores, eu recebo o erro "dd: conversão desconhecido", mas sem o espaço que ele funciona bem.