고양이 파이프를 벽에 삽입합니다(예: 고양이|벽).

고양이 파이프를 벽에 삽입합니다(예: 고양이|벽).

echo foo | wall작동하지만 작동하지 않는 이유는 무엇 입니까 cat | wall? 후자의 경우 이론적으로 벽에 파이프로 연결되어야 하는 몇 줄을 cat에 입력했지만 아무 일도 일어나지 않습니다.

답변1

wall입력의 각 줄은 별도의 메시지로 전송되지 않습니다. Broadcast Message from ...각 줄에 대해 별도의 헤더가 아닌 단일 헤더가 메시지 앞에 전송될 수 있도록 전체 입력을 수집합니다 .

입력을 한 번에 한 줄씩 처리하려면 다음 cat과 사이에 루프를 삽입 하면 됩니다 wall.

cat |while read -r line; do wall <<<"$line"; done

관련 정보