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