GNU/Linux >> Tutoriales Linux >  >> Linux

Alternativa al comando tee sin STDOUT

Otra opción que evita canalizar las cosas de vuelta y luego a /dev/zero es

sudo command | sudo dd of=FILENAME

El dd la solución aún imprime basura en 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

Eso se puede evitar usando el status opción:

command | sudo dd status=none of=FILENAME

Otra posibilidad interesante (para Linux de todos modos):

command | sudo cp /dev/stdin FILENAME

Para copiar la entrada de TTY en un archivo, a menudo hago esto:

sudo cp /dev/tty FILENAME

Es una lástima que tee no tenga una opción para suprimir stdout.


Podrías usar un guión. Es decir. pon algo como esto, es decir, $HOME/bin/stee , 0tee o similar:

#!/bin/bash

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

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

#!/bin/bash

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

Hazlo ejecutable:

$ chmod 755 Stee

Ahora hazlo, es decir:

$ ls-la | stee -a /raíz/foo


Linux
  1. Domina el comando ls de Linux

  2. Una introducción al comando diff

  3. ¿Ejecutar un comando Sudo, especificando la contraseña en la misma línea?

  4. ¿Cómo funciona el comando Tee??

  5. Extraiga el número de serie de Linux sin sudo

Cómo ejecutar el comando Sudo sin contraseña

Comando Sudo en Linux

Comprender la diferencia entre los comandos sudo y su en Linux

El comando del temporizador en Linux

Activar Numlock sin la clave – ¿Sin permisos de Sudo?

Explicar el uso del comando tee con ejemplos