プロセスの交換に関する内容はありますか(私の考えでは名前のないパイプを使用して実装dd
)は?と互換性がありません。
たとえば、次は失敗します。
$ dd if=<(unzip -p raspbian.zip) of=/dev/sdb status=progress
dd: unrecognized operand ‘/dev/fd/4’
Try 'dd --help' for more information.
しかし、これはうまくいきます。
$ unzip -p raspbian.zip | dd of=/dev/sdb status=progress
108458496 bytes (108 MB) copied, 19.446285 s, 5.6 MB/s
暗黙的に話すif
方法はありますか?dd
追求できなければならない?
答え1
これは、プロセス置換を拡張するときにシェルが先行スペースを追加するか、引数分割を実行することによって発生するようです。私達はこれを証明できます:
$ echo if=<(:)
if= /dev/fd/4
dd
この動作が最新バージョンで再現できると仮定すると、ここでバグレポートを送信する以外にできることはあまりありません(バグによって実際の問題が発生する正当なケースを含む)。
シェルの変更を検討することもできますが、気に入らないとわかります!