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바이트가 아닌 합리적인 크기의 데이터 청크를 처리할 수 있어야 합니다.

관련 정보