insert text in a file using echo command
7,816
Solution 1
Sudo just executes the first command, in your case " echo "abc-abc/abc/abc" ".
So the rest of the command (writing in /etc/portage/make.conf) will be executed in user mode.
You just have to modify the permissions on the file using chmod.
Solution 2
In that command line, your shell opens the /etc/portage/make.conf
in append mode, makes it the stdout of a new process and runs sudo
in that new process. It's not sudo
nor echo
that open the file, it's your shell which is running with your credentials.
You'd need the file to be opened by the command started as root. So it could be:
sudo sh -c 'echo "abc-abc/abc/abc" >> /etc/portage/make.conf'
Or:
echo "abc-abc/abc/abc" | sudo tee -a /etc/portage/make.conf > /dev/null
Related videos on Youtube
Author by
user44499
Updated on September 18, 2022Comments
-
user44499 over 1 year
I am trying to insert some text in a file in the following way
sudo echo "abc-abc/abc/abc" >> /etc/portage/make.conf
but it give me the error Permission denied
although I am using sudo command
-
Stéphane Chazelas almost 11 yearsLet's be serious, you don't want to
chmod
a file to modify it when you havesudo
access.