답변:
당신은 명명 된 파이프를 찾고있을 것 입니다.
mkfifo f
{
echo 'V cebqhpr bhgchg.'
sleep 2
echo 'Urer vf zber bhgchg.'
} >f
rot13 < f
파이프에 쓰면 청취 프로그램이 시작되지 않습니다. 루프에서 입력을 처리하려면 청취 프로그램을 계속 실행해야합니다.
while true; do rot13 <f >decoded-output-$(date +%s.%N); done
다중 프로세스 쓰기가 있더라도 파이프에 쓰여진 모든 데이터는 병합됩니다. 여러 프로세스가 읽고있는 경우 하나만 데이터를 가져옵니다. 따라서 파이프는 동시 상황에 적합하지 않을 수 있습니다.
명명 된 소켓은 동시 연결을 처리 할 수 있지만 기본 쉘 스크립트의 기능을 넘어선 것입니다.
규모의 가장 복잡한 끝에있는 사용자 정의 파일 시스템 은 각 파일 시스템 설계 및 장착 할 수 있습니다, open
, write
, 등의 프로그램에서 함수를 트리거가. 최소 투자는 예를 들어 Python 과 같이 수십 줄의 사소한 코딩 입니다. 파일을 읽을 때만 명령을 실행하려면 scriptfs 또는 fuseflt를 사용할 수 있습니다 .