Як створити ~ / .bash_profile та ~ / .profile


25

Отже, я не маю .bash_profileні .profileв своїй домашній папці. Як їх створити? Після цього, що я повинен робити щоразу, коли відкриваю термінал, ці файли читаються?

Відповіді:


28

Ви можете використовувати touchкоманду.

Наприклад,

cd ~

перейти до домашнього каталогу.

Тепер ми створимо файл під назвою .bash_profile(крапка означає, що він буде прихований).

Потім використовуйте nanoабо viв Терміналі. Якщо ви не знаєте, що viтаке, просто використовуйте nano. Щоб відкрити ці файли, використовуйте:

sudo nano .bash_profile

sudoгарантує, що ви зможете зберегти ці файли. Тут ви можете додати aliases. nanoабо viавтоматично створить новий файл, якщо він не існує у вашому поточному каталозі в Terminal.

Після того, як ви закінчите, натисніть Ctrl+ O, Enterі Ctrl+ , Xщоб зберегти і вийти. Нарешті, використовуйте

source ~/.bash_profile

перезавантажити термінал, і він прочитає, що ви помістили в ці файли.

Звичайно, ви також можете це псевдоніми, якщо хочете. :)

Щоб відповісти на ваше остаточне запитання, ці файли будуть автоматично прочитані кожного разу, коли ви відкриваєте термінал. Однак якщо є помилка (наприклад, не ставте пробіли між псевдонімами), вона вам скаже.

Більше інформації

Як зазначав Джордж, .bash_profileвони працюватимуть лише на вхідних оболонках. Для оболонок без входу потрібно створити .bashrcфайл із:

    sudo nano .bashrc

Посилання

.bash_profile vs .bashrc

Важливість .bashrc


5
Чому ви touchспочатку використовуєте для створення порожніх файлів? nanoробить це все одно автоматично.
nohillside

5
Крім того, ви, мабуть, не хочете і ~ / .profile, і ~ / .bash_profile - якщо bash бачить .bash_profile, він не турбується з .profile. Нарешті, він буде запущений лише для "вхідних" оболонок; нелогінні оболонки замість цього виконують ~ / .bashrc. Дивіться попередні запитання щодо ТА тут і тут .
Гордон Девіссон

@GordonDavisson це добре мати ~/.profileяк копію ~/.bash_profile? А якщо у вас обоє, що у вас всередині ~/.profile, чого не можна зробити ~/.bash_profile?
Thi G.

2
@ThiG: Я б не мав жодної копії іншого; ви, швидше за все, додати щось до одного, забудьте додати його до іншого, і заплутаєтесь. Дивіться мої рекомендації щодо цього питання щодо того, що я вважаю найкращою практикою.
Гордон Девіссон

sudoгарантує, що ви зіпсуєте права користувача. Не робіть цього.
Макс Рійд

2

Ви можете скопіювати ці файли з файлів / etc / skel /, які є скелетовими файлами для нових користувачів, створених командою, на зразок useradd, на дистрибутивах на базі Debian:

cp -nr /etc/skel/. ~/

Ці файли автоматично завантажуються оболонкою щоразу, коли ви входите в систему. Спосіб завантаження цих файлів профілю описаний на вашій сторінці керівництва з оболонкою. Якщо ви використовуєте bash shell спеціальним чином (наприклад, через ssh, ansible тощо), ви повинні використовувати команду "bash -ilc", яку потрібно виконати в ENV, підготовленому тими файлами профілю "'. -i означає інтерактивну оболонку, яку часто вимагає .bashrc -l оболонка входу, яка спричиняє завантаження .profile (або .bash_profile існує - див. сторінку керівництва bash), яка завантажує .bashrc


0

Я вважаю за краще використовувати текстові редактори GUI, такі як BBEdit або TextWrangler. Ці текстові редактори можуть обробляти невидимі файли, такі як .profile та .bash_profile, і вони мають перевагу у наявності інтерфейсу GUI, на відміну від nano, який є консольним інтерфейсом.

TextWrangler

BBEdit


0

Ви також можете використовувати текстовий редактор графічного інтерфейсу, наприклад TextEdit:

touch ~/.bash_profile
open -e ~/.bash_profile

open -e- це ярлик для open -a TextEdit.

Вам не обов’язково створювати .profile або .bashrc. Термінал та iTerm 2 відкривають нові оболонки як оболонки для входу, тому bash не читає .bashrc. Якщо і .bash_profile, і .profile існують, bash читає лише .bash_profile, коли він викликається як інтерактивна оболонка входу. .profile читається ksh, коли він викликається як інтерактивна оболонка входу, і bash, коли він викликається sh як інтерактивна оболонка входу.

Я фактично сказав iTerm 2 відкривати нові оболонки як оболонки без входу, і мій .bash_profile просто містить такий собі рядок . ~/.bashrc. tmux і режим оболонки в emacs відкривають нові оболонки як оболонки без входу. .bash_profile все ще читається, коли я сш на свій комп’ютер.


Дозвольте мені побачити, чи отримав я це ... Ви маєте і те, ~/.bash_profileі ~/.profile? А у вас теж є ~/.bashrc?
Thi G.

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