Je suis sur Centos et j'ai fait Cependant, quand je fais Sudo Echo 'Testline' >> / etc / test / test Code> Il a dit
-bash: / etc / test / test: autorisation refusée code > p>
sudo vi / etc / test / test code> et insérer
testline code> et do
3 Réponses :
Vous devez envelopper toute la déclaration (y compris la redirection) dans un groupe de sorte que le sudo s'étend autour de lui.
sudo bash -c "echo 'testline' >> /etc/test/test"
La redirection est traitée par la coque avant d'exécuter sudo code>, plutôt que d'y faire partie. Utilisez
tee code> à la place de sorte que
sudo code> exécute le processus qui ouvre réellement le fichier d'écriture.
echo 'testline' | sudo tee -a /etc/test/test > /dev/null
Ce n'est que la réponse qui explique pourquoi i>.
Une autre syntaxe pour la même solution générale Ces gars ont déjà présenté:
echo "echo 'testline'>>/etc/test/test" | sudo su
shellcheck autodétects Ce numéro .