При попытке изменить /etc/bash.bashrc
я получаю сообщение об ошибке:
$ echo "my edit" >> /etc/bash.bashrc
bash: /etc/bash.bashrc: Permission denied
ls -ll /etc/bash.bashrc
показывает:
-rw-r--r-- 1 root root 1975 2011-05-18 19:54 /etc/bash.bashrc
Как я могу изменить /etc/bash.bashrc
?
sudo bash -c "echo 'text' >> /etc/bashrc"
Не меняйте владельца. Не чмод это. Просто используйте sudo. Откройте его с помощью sudoedit, если вам нужно делать сложные вещи.
Кстати, вы можете вносить изменения для одного пользователя, просто редактируя ~ / .bashrc, не требуя каких-либо специальных разрешений.
Для редактирования файла необходимы права суперпользователя.
Чтобы стать суперпользователем, введите sudo -s
и введите свой пароль. После входа в систему введите команду, и она сработает.
Вы, вероятно, уже обнаружили, что есть много способов сделать это. Но я думаю, что это самый элегантный из всех. (Это часто включает в себя наименьший набор текста, когда все сказано и сделано.)
echo "my edit" | sudo tee -a /etc/bash.bashrc
См. man tee
, если вам интересны технические детали того, как это работает . [+1112]
В общем:
Чтобы выполнить работу echo some-text > some-file
как root
, выполните:
echo some-text | sudo tee some-file
работа echo some-text >> some-file
как root
, запустить:
echo some-text | sudo tee -a some-file
sudo nano /etc/bash.bashrc
Сделайте необходимые изменения. Сохраните его ( Ctrl kbd> + X kbd>) и подтвердите, нажав y
и Enter kbd>.