Ich habe zwei Fälle, in denen ich eine Datei erstellen möchte, deren Inhalt über die Standardeingabe bereitgestellt wird:
- Ich muss verwenden
sudo, um die Berechtigungen zum Erstellen einer Datei zu haben. - Eine Anwendung ruft immer einen (interaktiven) Editor auf, der angegeben ist
$EDITOR, um diese Eingabe weiter zu verarbeiten, aber ich möchte stattdessen Daten aus einem Programm weiterleiten.
Im ersteren Fall könnte ich verwenden echo test | sudo bash -c 'cat > test.txt', aber sowohl in diesem als auch im letzteren Fall verwende ich normalerweise teeund leite teedie Standardausgabe an /dev/null:
echo test | sudo tee test.txt > /dev/nullecho test | EDITOR=tee application > /dev/null
Dies wirft jedoch nicht nur die teeStandardausgabe weg , sondern auch (im letzteren Fall) applicationdie. Es wäre vorzuziehen, die teeStandardausgabe spezifisch unterdrücken zu können , damit ich sofort feststellen kann, ob etwas anderes in die Standardausgabe geschrieben wurde.
Gibt es ein Dienstprogramm für Standard-Linux-Distributionen, das Standardeingaben in die als Befehlszeilenargument angegebene Datei schreibt und nichts ausgibt?