Posix shell/bash 3.2: ファイル記述子からの非ブロック読み込み

Posix shell/bash 3.2: ファイル記述子からの非ブロック読み込み

Bash 3.2で非ブロック読み取りを実行し、POSIX環境に移植することもできますか?

最新バージョンのbashではこれが機能しますread -r -d'' -t $TIMEOUT -N $NBYTES myvarが、bash 3.2をサポートする必要があります。 bash 3.2は-N存在せず、myvarタイムアウト後も書き込まず、読み出しデータの一部が失われます。

ddGNU固有のパラメータの使用を提案する他の答えを見ましたが、iflagsGNUがあるかどうかわからないため、うまくいきませんdd

私の目標は移植性なので、Python、Perlなどで書くのは好きではありませんが、可能でなければ書く必要があります。

コンテキストに応じて私が望むのは、script出力をパイプにリダイレクトして実行することです。私のbashスクリプトは、パイプからデータを読み取って使用できるデータ量があれば、それを封筒に包み込み、出力します。これにより、消費者は複数の入力ストリームを多重化できます。正しく機能するには、待ち時間が短く、一度に1バイトではなく合理的なサイズのデータ​​チャンクを処理できる必要があります。

ベストアンサー1

おすすめ記事