Wie kann der systemeigene write-Befehl so angepasst werden, dass er immer erst eine Pipe durchläuft?

Antwort

Um den systemeigenen Befehl `write` (vermutlich meinst du den Unix-Befehl `write` oder einen ähnlichen Befehl zum Schreiben auf die Konsole oder in eine Datei) so zu verändern, dass er immer erst eine Pipe durchläuft, müsstest du das Verhalten des Befehls anpassen. Standardmäßig schreibt `write` direkt auf das Ziel (z.B. ein Terminal oder eine Datei), ohne eine Pipe zu verwenden. **Eine direkte Änderung des systemeigenen Befehls ist nicht vorgesehen**. Du kannst aber das gewünschte Verhalten durch ein Wrapper-Skript oder eine Alias-Lösung erreichen. ### Beispiel mit einem Wrapper-Skript Angenommen, du möchtest, dass alles, was an `write` gesendet wird, erst durch eine Pipe (z.B. durch `cat` oder ein anderes Programm) läuft, könntest du ein Skript wie folgt erstellen: ```bash #!/bin/bash # Speichere dieses Skript als "mywrite" und mache es ausführbar cat | write "$@" ``` Jetzt kannst du anstelle von `write` immer `mywrite` verwenden und alles, was du an `mywrite` sendest, läuft durch die Pipe. ### Beispiel mit einem Alias Du könntest auch einen Alias in deiner Shell setzen: ```bash alias write='cat | /usr/bin/write' ``` Beachte: Das funktioniert nur, wenn du `write` so aufrufst, dass es von einer Pipe liest, z.B.: ```bash echo "Hallo" | write user ``` ### Systemweite Änderung Eine systemweite Änderung des Befehls selbst (z.B. durch Ersetzen der Binärdatei) ist **nicht empfohlen** und kann zu Problemen führen. Stattdessen ist die Nutzung eines Wrappers oder Aliases der übliche Weg. ### Zusammenfassung - Der systemeigene Befehl kann nicht direkt so verändert werden, dass er immer durch eine Pipe läuft. - Nutze stattdessen ein Wrapper-Skript oder einen Alias, um das gewünschte Verhalten zu erreichen. Weitere Informationen zu Pipes und Shell-Skripten findest du z.B. auf [tldp.org](https://tldp.org/LDP/abs/html/pipes.html).

Kategorie: Linux Tags: Write Pipe Systembefehl
KI fragen