Вопрос: Реконструкция .bashrc из запущенного сеанса


Я случайно удалил свой .bashrc. У меня все еще есть терминал. Какие настройки можно восстановить?

У меня уже есть псевдонимы (из alias команда). Я предполагаю, что все случаи и случаи исчезли, но я хочу получить переменные. Как я могу это сделать? (кроме необходимости их распечатывать). И что еще я могу выздороветь?


6
2018-04-26 13:03


Источник




Ответы:


Если у вас есть файл по умолчанию .bashrc без собственных настроек, вы можете восстановить исходный файл из каталога skel:

cp /etc/skel/.bashrc ~/

Каталог skel имеет (или должен иметь) настройки по умолчанию для новых пользователей. Когда пользователь создается, содержимое каталога skel копируется в новый пользовательский дом

Добавлено описание того, как проверить, что могло быть в файле bashrc пользователя, который не находится в файле bashrc по умолчанию:

В случае, если у вас был измененный файл .bashrc и с тех пор env будет сбрасывать все настройки сеанса (много вещей), которые могут исходить из нескольких файлов (/ etc / bashrc, / etc / profile, .profile, ....). вам нужно получить то, что было создано на вашем своя bashrc, который отличается от bashrc по умолчанию и отбрасывает все, что генерируется из других файлов bash sourced:

Основываясь на ответе 'env', отправленном silviud, и пока у вас все еще есть старый терминал, вы можете сохранить env вывод в файл. Затем откройте новую оболочку и сравните старый env с новым env, а затем покажите, что было создано из вашего .bashrc.

Например, в вашем старом дампе терминала env в файл:

env > oldenv

В новой оболочке теперь изменилось то, что теперь изменилось .bashrc:

comm -3 <(env) oldenv

Измените .bashrc, полученный из каталога skel, чтобы добавить отличия, которые вы получили от указанной выше команды.

НТН


3
2018-04-26 13:21



Добавлено описание того, как проверить, что могло быть в файле bashrc пользователя, который не находится в файле bashrc по умолчанию, и игнорирует всю среду bash, созданную из других источников. - hmontoliu


shell$ env
# will tell you all the settings you have into that terminal 
# the alias is handy as well for all the aliases you have

2
2018-04-26 13:11





Это случилось со мной, действительно страшно! Я запустил «env», чтобы получить все переменные среды, а также команда «alias» напечатает все ваши псевдонимы, которые не находятся в вашей среде.

Итак, запустите:

env

а также

alias

и скопировать их в файл скелета bashrc.

Теперь быстро поместите ваш .bashrc в git:

cd ~
git init
git add .bashrc
git commit -m "added .bashrc"

2
2018-03-23 06:24