GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni "autorizzazione negata" durante il reindirizzamento dell'output di Sudo Echo "xyz" su un file ??

Questa domanda ha già risposte qui :Reindirizzamento di stdout a un file per il quale non disponi dell'autorizzazione in scrittura

(7 risposte)
Chiuso 6 anni fa.

Perché ricevo

-bash: test: Permission denied

quando corro

sudo echo "xyz" > test

I permessi della directory sono:

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

Non ho problemi a creare un file nella directory usando sudo . Ma perché non posso sudo echo in esso?

Risposta accettata:

Ciò accade perché stai solo eseguendo echo comando come root. Il reindirizzamento dell'output è gestito dalla tua shell (non root). Per evitare ciò, non utilizzare il reindirizzamento della shell e utilizza un comando vero e proprio per gestire la scrittura:tee . Quello che vuoi fare può essere fatto così:

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

(se non reindirizzi l'output, tee produrrà xyz anche allo stdout)


Linux
  1. Reindirizzamento del contenuto di un file al comando "eco"?

  2. 3 trucchi per ottenere più comandi in uscita nella stessa riga

  3. emette la seconda colonna di un file

  4. Come ottenere la dimensione di tar.gz nel file (MB) in python

  5. Come ottengo la directory assoluta di un file in bash?

Come usare Sudo e il file Sudoers

Come reindirizzare l'output di system() su un file?

Aggiunta di una riga nel file hosts, ottenere l'autorizzazione negata quando si utilizza sudo - Mac

Come visualizzare il contenuto del file in modo ricorsivo?

Come impostare autorizzazioni file specifiche durante il reindirizzamento dell'output?

Come ottenere la dimensione fisica di un file in Linux?