GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Alternative zum tee-Befehl ohne STDOUT

Eine weitere Option, die es vermeidet, das Zeug zurück und dann zu /dev/zero zu leiten ist

sudo command | sudo dd of=FILENAME

Die dd Die Lösung druckt immer noch Müll auf stderr:

$ ls | sudo dd of=FILENAME
0+1 records in
0+1 records out
459 bytes (459 B) copied, 8.2492e-05 s, 5.6 MB/s

Dies kann mit dem status vermieden werden Möglichkeit:

command | sudo dd status=none of=FILENAME

Eine weitere interessante Möglichkeit (jedenfalls für Linux):

command | sudo cp /dev/stdin FILENAME

Um TTY-Eingaben in eine Datei zu kopieren, mache ich oft Folgendes:

sudo cp /dev/tty FILENAME

Schade, dass tee keine Option hat, stdout zu unterdrücken.


Sie könnten ein Skript verwenden. D.h. Fügen Sie so etwas ein, z. B. $HOME/bin/stee , 0tee oder ähnlich:

#!/bin/bash

argv=
while [[ "$1" =~ ^- ]]; do
    argv+=" $1"
    shift
done

sudo tee $argv "$1" > /dev/null

#!/bin/bash

sudo tee "[email protected]" > /dev/null

Ausführbar machen:

$ chmod 755 stee

Mache jetzt z.B.:

$ls -la | stee -a /root/foo


Linux
  1. Meistern Sie den Linux-ls-Befehl

  2. Eine Einführung in den diff-Befehl

  3. Führen Sie einen Sudo-Befehl aus und geben Sie das Passwort in derselben Zeile an?

  4. Sudo-Befehl nach langem Schlafanruf ohne erneute Aufforderung zum Sudo-Passwort?

  5. Extrahieren Sie die Linux-Seriennummer ohne sudo

So führen Sie den Sudo-Befehl ohne Passwort aus

Sudo-Befehl unter Linux

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Der Timer-Befehl in Linux

Numlock ohne Schlüssel umschalten – ohne Sudo-Berechtigungen?

Erklären Sie die Verwendung des tee-Befehls anhand von Beispielen