내가 원하는 것은 줄 바꿈과 상관없이 데이터가 도착할 때 데이터를 처리하는 것입니다.
read -n $n
stdin에서 파이프와 함께 사용할 때 Bash는read (0, buf, 1)
바이트당 하나의 syscall을 생성하는데, 이는 처리할 데이터 양이 적지 않은 경우(예: 1MB 이상) 너무 느립니다.- Bash를 사용하면 도달할 때까지
read -N $n
syscall을 반복하므로 지금까지 수신된 처리를 시작할 수 없습니다.read (0, buf, <RestOf$n>)
$n
- 사용할 때 일부 데이터를 읽었더라도
read -N $n -t 0.1
비어 있습니다 .$REPLY
즉, 데이터가 손실됩니다. 이것은 버그입니까 아니면 Bash의 기능입니까?
read
그렇다면 임의의 count
인수를 사용하여 정확히 하나의 syscall을 만들고 bash
지금까지 수신된 입력을 처리하려면 어떻게 해야 합니까 ?