(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)