Bence sorun " conv=noerror,
" ile " sync
" arasındaki boşluk , bununla aynı şeyi yapamamaya rağmen:
$ 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)
... ama aldığım hata mesajı farklı. Genel olarak, "bilinmeyen dönüşüm" mesajı bilinmeyen dönüşümü listeler:
$ dd if=/dev/null of=/dev/null bs=128m conv=noerror,wibble
dd: unknown conversion wibble
Sanırım olan şey, kabuğun conv=noerror, sync
"conv = noerror," ve "sync" olmak üzere iki argüman olarak ayrıştırdığını ve ardından dd
iki dönüşüm belirten ilkini "virgül" ve "" olarak ayırdığı (virgülden sonra hiçbir şey olmadığı için) olduğunu düşünüyorum. ve sonra "" seçeneğinin bilinmediğinden şikayetçi.
Ama bu aldığınız hata değil; sizinki aslında "senkronizasyon" u bilinmeyen seçenek olarak listeler. Aklıma gelen tek şey, "," ve "senkronizasyon" arasında ayrılmaz bir boşluğa sahip olmanız olabilir. Bu durumda, kabuk onu argümanın sadece bir parçası olarak ele alacak ve "conv = noerror, sync" i tek bir argüman olarak geçirecektir; dd
daha sonra bunu iki seçenek olarak ayrıştırır ve "dd: unknown option sync" hata mesajını verir:
$ 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
Her durumda, boşluğu kaldırın (ne olursa olsun) ve çalışması gerekir.
if
veof
değerlerde "dd: bilinmeyen dönüşüm" hatası alıyorum, ancak boşluk olmadan iyi çalışıyor.