Як відновити Bashrc за замовчуванням?


9

Я випадково переписав .bashrc. Я зробив наступне

echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc

Бур я випадково набрав >замість >>. Гадаю, це була погана ідея.

Я все ще можу ввійти в систему, використовуючи цей трюк (натисніть, Ctrl+Cперш ніж .bashrc буде виконаний повністю). Але як відновити його за замовчуванням .bashrc?

Я працюю CentOS 6.5 x86_64. Якщо файл bashrc за замовчуванням десь є в дистрибутиві , я не можу його знайти.

Відповіді:


13

Відсуньте пошкоджений файл із шляху, а потім перевстановіть пакет, який надає пошкоджений файл.

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)

Дякую! Будь ласка, додайте для видалення пошкодженого файлу до ( rm /etc/bashrc) та перезапустіть bash після ( source ~/.bash_profile)
Микола Лєшов

9

Ви перезаписали це .bashrcу свій каталог користувачів? Або загальносистемне .bashrcзберігання в /etc/skel/? You can always copy the default.bashrc from/ etc / skel / `так:

cp /etc/skel/.bashrc ~/.bashrc

EDIT: У коментарях під оригінальним плакатом зазначено:

Я робив ехо-експорт EDITOR = / usr / bin / nano> / etc / bashrc, коли я повинен був написати >> .

Гаразд, це пояснює, що пішло не так. Але в цілому кожен, хто пропонує системні файли Linux / Unix відрегулювати за допомогою >>конкатенації, повинен бути публічно засуджений назавжди. Проблема полягає саме в тому, в що ви зіткнулися. Все, що потрібно зробити >>, - це додати вміст ліворуч >>до елемента праворуч від >>. Це здається гладким і швидким, але на мою скромну думку, ви набагато безпечніше просто відкрити файл у редакторі та додати все, що вам потрібно додати до кінця файлу. Просто зробіть це:

sudo nano /etc/bashrc

Додайте все, що вам потрібно додати до цього файлу, збережіть його та рухайтеся далі.


1
Додано: Я робив, echo 'export EDITOR=/usr/bin/nano' > /etc/bashrcколи мав писати >>. Я вже замінив файл на файл із /etc/skel/, але я продовжую отримувати "Підключення до 1.2.3.4 закрите." Я думаю, що файл в /etc/skel/- це шаблон для "справжнього" .bashrc, а не екземпляр власного файлу конфігурації. Можливо, пристрій .bashrcповинен містити нескінченний цикл чи щось таке? Я можу ввійти в систему лише натисканням Ctl+Cміж видачею sshкоманди з мого комп'ютера та моментом, коли він починає мене. До речі, у моїй системі це /etc/bashrcбез періоду
Микола Лещів

А-а-а, гаразд. Трохи загальних порад щодо того, що >>я змінив свою відповідь.
JakeGould

1

Схоже, що / etc / bashrc є в цьому пакеті: setup-2.8.14-20.el6_4.1.noarch.rpm

Ви можете спробувати перевстановити цей об / хв. (що може мати непередбачувані наслідки)

Або ви можете завантажити вихідний rpm та скопіювати файл вручну:

Джерело RPM: setup-2.8.14-20.el6_4.1.src.rpm

http://www.wikihow.com/Extract-RPM-Packages

http://rpm.pbone.net/index.php3/stat/4/idpl/25011386/dir/centos_6/com/setup-2.8.14-20.el6_4.1.noarch.rpm.html


0

3 командні рядки для відновлення bashrc! Ви даєте нам дуже корисну відповідь, особливо для початківців Linux, як я, я успішно застосовую її,

mv /etc/bashrc /etc/bashrc.damaged
yum reinstall $(rpm -qf /etc/bashrc)
source ~/.bash_profile

Дякую за все


0

Запустити (не потрібно мати корінь)

dnf download $(rpm -qf /etc/bashrc)

завантажити rpmпакет у поточному каталозі. Потім витягніть пакет і перемістіть файл, куди він належить. Таким чином, вам не потрібно перевстановлювати жоден пакет.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.