GNU/Linux >> Tutoriels Linux >  >> Linux

Alternative à la commande tee sans STDOUT

Une autre option qui évite de rediriger les choses vers /dev/zero est

sudo command | sudo dd of=FILENAME

Le dd la solution imprime toujours les fichiers indésirables sur 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

Cela peut être évité en utilisant le status choix :

command | sudo dd status=none of=FILENAME

Autre possibilité intéressante (pour Linux en tout cas) :

command | sudo cp /dev/stdin FILENAME

Pour copier l'entrée TTY dans un fichier, je fais souvent ceci :

sudo cp /dev/tty FILENAME

C'est dommage que tee n'ait pas d'option pour supprimer stdout.


Vous pouvez utiliser un script. C'est à dire. mettre quelque chose comme ça dans c'est-à-dire $HOME/bin/stee , 0tee ou similaire :

#!/bin/bash

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

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

#!/bin/bash

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

Rendez-le exécutable :

$ chmod 755 acier

Maintenant, c'est-à-dire :

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


Linux
  1. Maîtrisez la commande Linux ls

  2. Une introduction à la commande diff

  3. Extraire le numéro de série Linux sans sudo

  4. Quel est l'équivalent de la commande updatedb de Linux pour Mac ?

  5. Voir les points d'accès sans fil disponibles dans le terminal ?

Comment exécuter la commande Sudo sans mot de passe

Commande Sudo sous Linux

Comprendre la différence entre les commandes sudo et su sous Linux

La commande timer sous Linux

Basculer Numlock Sans La Clé - Sans Autorisations Sudo ?

Expliquer l'utilisation de la commande tee avec des exemples