GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenir "autorisation refusée" lors de la redirection de la sortie de Sudo Echo "xyz" vers un fichier ??

Cette question a déjà des réponses ici :Rediriger stdout vers un fichier sur lequel vous n'avez pas d'autorisation d'écriture

(7 réponses)
Fermé il y a 6 ans.

Pourquoi est-ce que je reçois

-bash: test: Permission denied

quand je cours

sudo echo "xyz" > test

Les permissions du répertoire sont :

drwxr-xr-x 3 root root 4096 2014-08-05 16:26 

Je n'ai aucun problème à créer un fichier dans le répertoire en utilisant sudo . Mais pourquoi est-ce que je ne peux pas faire écho sudo ?

Réponse acceptée :

Cela se produit parce que vous n'exécutez que le echo commande en tant que root. La redirection de sortie est gérée par votre shell (non root). Pour éviter cela, n'utilisez pas la redirection du shell et utilisez une commande réelle pour gérer l'écriture :tee . Ce que vous voulez faire peut être fait comme suit :

echo "xyz" | sudo tee test > /dev/null

(si vous ne redirigez pas la sortie, tee affichera xyz à stdout aussi)


Linux
  1. Que se passe-t-il exactement lorsque j'exécute un fichier dans le shell ?

  2. L'écho au descripteur de fichier écrase le fichier ?

  3. Comment ajouter la sortie à un fichier ?

  4. afficher la 2ème colonne d'un fichier

  5. Comment obtenir la taille de tar.gz dans le fichier (Mo) en python

Comment utiliser Sudo et le fichier Sudoers

Comment obtenir l'entrée et la sortie d'un terminal dans un fichier texte ? ?

3 astuces pour obtenir plusieurs sorties de commandes dans la même ligne

Obtenez les 4 derniers caractères de la sortie de la sortie standard

Comment définir des autorisations de fichiers spécifiques lors de la redirection de la sortie ?

Comment obtenir la taille physique d'un fichier sous Linux ?