Как мне восстановить мой .bash_profile?

11

Я случайно переписал свой ~/.bash_profileфайл.

У кого-нибудь есть «образец», который я мог бы скопировать, или знаете, где я мог бы найти его?

Maxpm
источник
1
Самое время упомянуть, что GitHub - это отличное место для хранения ваших настроек dotfile. Пример того, как это сделать, см .: sursolid.com/managing-home-dotfiles-with-git-and-github
Ян С.
2
Совет: Используйте Time Machine для регулярного резервного копирования ваших файлов, чтобы вы могли восстановить их, если они были случайно удалены или отредактированы. Единственное лучшее вложение в ваш компьютер - это план резервного копирования.
Крис Пейдж
Просто к вашему сведению, я не думаю, что у OS x есть «default» .bash_profile.
Роберт С. Чаччо
3
На это действительно мог ответить google ("пример bash_profile"). Третий хит дает довольно полный пример: tldp.org/LDP/abs/html/sample-bashrc.html

Ответы:

7

Если ваше окно терминала все еще открыто, вы можете сохранить текущие настройки среды для перестройки. Восстановленный файл будет содержать больше информации, чем вы могли определить самостоятельно, поэтому удалите ненужные части:

Определенные переменные и функции:

$ declare > .bash_profile.recovered

Псевдонимы:

$ alias >> .bash_profile.recovered
AnthumChris
источник
3

Ищите dot_files в Google или Github, если вам нравится образец.

Если вы хотите восстановить его, вы можете попытаться получить его из резервной копии TimeMachine (если есть)

Сайрам
источник
2
или любая другая резервная копия - если нет резервной копии, начните создавать ее сейчас, прежде чем делать что-либо еще
user151019
2

Резервная копия находится по адресу:

/etc/skel/.bash_profile

Просто скопируйте его в ваш текущий файл.

Пляжный домик
источник
Стоит добавить, что это стандартный шаблон, поэтому любые изменения, внесенные пользователем в его локальный .bash_profileкаталог, не будут отражены в нем.
холме
4
Что касается macOS Yosemite (10.10), это, похоже, больше не соответствует действительности. Это стандартное расположение в других Unices, но я больше не могу найти файл скелета для новых пользователей в файловой системе.
tripleee
2

Вы можете попытаться восстановить его с помощью TestDisk .

Если это не сработает, введите:

x56~:$ alias >> ~/.bash_profile

а также

x56:~$ echo "PATH=$PATH" >> ~/.bash_profile

по крайней мере восстановить ваш путь и псевдонимы, которые вы можете вставить в свой новый файл профиля.

пижон
источник
1

К сожалению, для этого и нужен контроль версий. Невозможно отменить изменения, в то время как удаление через поиск фактически переходит в корзину.

Используйте TimeMachine в будущем. Помимо этого, это также даст вам частичку ума, когда ваш текущий жесткий диск умрет. Я знаю людей, столкнувшихся с этой проблемой сейчас, и если бы они вложили только 30-50 долларов в резервный жесткий диск, проблем бы не было. Я рекомендую вам просто поучиться на этом и периодически делать резервные копии, используя timemachine.

Github, как упомянул Ian C, является отличным местом для поддержки ваших файлов точек, также вы можете найти файлы точек от других. Выручка от контроля версий здесь, я не знаю, сколько раз это спасло меня, но определенно больше, чем я могу вспомнить. Преимущество TimeMachine заключается в том, что он также выполняет управление версиями, проблема в том, что он хранится по времени снимка, а не по логической версии.

Удачи.

Дмитрий Лихтен
источник
Машина времени просто спасла мой день. Я придерживаюсь этой стратегии, как кто-то, кому нравятся грубые псевдонимы командной строки, которые иногда пропускают обратную косую черту и разрушают все.
Чужая форма жизни
0

Если вы не можете использовать Терминал для доступа к вашему ~/.bash_profile(например, он поврежден), вы можете использовать BBEdit или любой другой графический редактор, который может открывать файлы из местоположения и открывать ваш поврежденный файл, чтобы исправить это.

КСТАТИ. если вы знаете местоположение и имя любого скрытого файла, этот метод можно использовать для его открытия (при условии, что это текстовый файл).

Элио
источник
0

Этот метод работает, только если вы сохранили bash_profileфайл до точки, в которую вы хотите вернуться в TextEdit, не работает, если отредактировано с помощью vi или nano (спасибо @nohillside за указание на это). Вы можете открыть файл с помощью TextEdit (например:) open ~/.bash_profileи нажать, File -> Revert To -> Browse All Versions...а затем выбрать версию, к которой вы хотите вернуться.

Изображение, отображающее вышеописанную процедуру

Сувин Кумар Вундавалли
источник
2
Возможно, стоит упомянуть, что это работает только для изменений, примененных с TextEdit (изменения применяются viили nanoне будут версионированы).
Nohillside