Möglicherweise suchen Sie nach einer Named Pipe .
mkfifo f
{
echo 'V cebqhpr bhgchg.'
sleep 2
echo 'Urer vf zber bhgchg.'
} >f
rot13 < f
Das Schreiben in die Pipe startet das Hörprogramm nicht. Wenn Sie Eingaben in einer Schleife verarbeiten möchten, müssen Sie ein Hörprogramm ausführen.
while true; do rot13 <f >decoded-output-$(date +%s.%N); done
Beachten Sie, dass alle in die Pipe geschriebenen Daten zusammengeführt werden, auch wenn mehrere Prozesse geschrieben werden. Wenn mehrere Prozesse gelesen werden, erhält nur einer die Daten. Daher ist eine Pipe möglicherweise nicht für gleichzeitige Situationen geeignet.
Ein benannter Socket kann gleichzeitige Verbindungen verarbeiten, dies geht jedoch über die Funktionen für einfache Shell-Skripts hinaus.
Am komplexesten Ende der Skala sind benutzerdefinierte Dateisysteme , die Sie ein Dateisystem entwerfen und montieren lassen , wo jeder open
, write
usw., eine Funktion in einem Programm auslöst. Die Mindestinvestition liegt in zig Zeilen nichttrivialer Codierung, beispielsweise in Python . Wenn Sie beim Lesen von Dateien nur Befehle ausführen möchten, können Sie scriptfs oder fuseflt verwenden .
Gilles 'SO - hör auf böse zu sein'
quelle