GNU/Linux >> Linux Esercitazione >  >> Linux

Alternativa al comando tee senza STDOUT

Un'altra opzione che evita di reindirizzare le cose indietro e poi a /dev/zero è

sudo command | sudo dd of=FILENAME

Il dd soluzione stampa ancora spazzatura su 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

Questo può essere evitato usando il status opzione:

command | sudo dd status=none of=FILENAME

Un'altra possibilità interessante (per Linux comunque):

command | sudo cp /dev/stdin FILENAME

Per copiare l'input TTY in un file, faccio spesso questo:

sudo cp /dev/tty FILENAME

Peccato che tee non abbia un'opzione per sopprimere stdout.


Potresti usare uno script. Cioè. metti qualcosa di simile in $HOME/bin/stee , 0tee o simile:

#!/bin/bash

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

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

#!/bin/bash

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

Rendilo eseguibile:

$ chmod 755 acciaio

Ora fai ad esempio:

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


Linux
  1. Padroneggia il comando ls di Linux

  2. Un'introduzione al comando diff

  3. Comando Sudo dopo una lunga chiamata di sonno senza richiedere nuovamente la password Sudo?

  4. Come funziona il comando Tee?

  5. Qual è l'equivalente del comando updatedb di Linux per Mac?

Come eseguire il comando Sudo senza password

Comando Sudo in Linux

Comprendere la differenza tra il comando sudo e su su Linux

Il comando timer in Linux

Attiva/disattiva Bloc Num senza la chiave - Senza autorizzazioni Sudo?

Spiegare l'uso del comando tee con esempi