У чому різниця між ~/.profileі ~/.bash_profile?
У чому різниця між ~/.profileі ~/.bash_profile?
Відповіді:
Це .profileбула оригінальна конфігурація профілю для оболонки Bourne (ака, sh). bash, будучи сумісною з Bourne оболонкою, буде читати та використовувати її. З .bash_profileіншого боку читається лише bash. Він призначений для команд, несумісних зі стандартною оболонкою Bourne.
.profile. Наприклад, bashі , kshале не cshабо tcsh. І zshнадає shі cshсумісність, і вона буде читати як .profileі .login, так і zshконкретні файли з крапками.
Оригінал shпоставлений .profileпід час запуску.
bash.bash_profileспершу спробує джерело , але якщо цього не існує, він буде джерелом .profile1 .
Зауважте, що якщо bashзапускається як sh(наприклад /bin/sh, посилання на /bin/bash) або починається з --posixпрапора, він намагається імітувати shта читає лише .profile.
Виноски:
.bash_profile, .bash_login,.profileДивитися також:
Ви знаєте, що багато снарядів існує у світі UNIX, але більшість з них:
/bin/sh(Винахідник: Стівен Борн)/bin/bash(Винахідник: Брайан Фокс, за проектом GNU) (потужна оболонка)/bin/csh(Винахідник: Білл Радість, Винахідник TCP / IP стека)/bin/ksh(Винахідник: Девід Корн в Bell Labs)/bin/zsh(Потужна оболонка)/bin/tcsh(походить від C Shell)/bin/dash(Отримана з оболонки Almquist (зола в рамках проекту NetBSD)) (Деш народився від lenny)Але ваше питання стосується ~/.bash_profileта ~/.profile:
Коли ви входите на машину UNIX, вона переспрямовує на ваш домашній каталог відповідно до оболонки, обраної адміністратором в останньому полі, /etc/passwdнаприклад:
mohsen:x:1000:1000:Mohsen Pahlevanzadeh,,,:/home/mohsen:/bin/bash
Оболонка працює, і за замовчуванням кожна оболонка має набір файлів для loginта logout. Коли ви увійти на баш, ~/.profileзапускається і коли logout, ~/.bash_logoutзапускається.
~/.bash_historyфайл зберігає вашу команду введення.
~/.login Коли ви ввійдете в систему~/.logout Під час виходу з системи~/.tcshrcте саме, що і ~./bashrcв башіВи можете встановити змінну $histfileяк ім'я файлу історії та змінну $historyяк кількість команд для зберігання.
Дійсно, це потужна оболонка, і якщо ви отримаєте вільний час, не забудьте перейти до неї.
За винятком інших оболонок, Z оболонка має багато файлів конфігурації та файлів ініціалізації, я просто пишу:
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
/tmp/zsh*
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
Примітка: якщо не $ZDOTDIRвстановлено, домашній комплект
Примітка: оболонка TENEX C була роздвоєна з оболонки C. Підтримка оболонки C BSD. Якщо ви знайомі з мовою програмування на С, вам має бути зручно, оскільки його синтаксис схожий.
~/.login
~/.cshrc
~/.logout
Примітка: csh старий. Використовуйте замість tcsh.
~/.profileЦе дуже потужна оболонка, яка народилася за проектом GNU та роздвоєна Борном Шеллом.
~/.bash_login
~/.bash_logout
~/.bashrc
~/.bash_profile
~/.bash_history
Коли ви входите в систему, bash працює ~/.bash_profileі ~/.bash_profileпрацює ~/.bashrc. Насправді ~/.bashrcце не файл ініціалізації bash, тому що bash не запускає його.
Він мертвий. Навіть коли ви користуєтесь man sh, ви бачите посібник із dash. [Примітка редактора: деталь стосується dashлише дистрибутивів на базі Debian та Debian, таких як Ubuntu.]
~/.bash_profileробота під басом, але ~/.profileробота під оболонкою Борна та Корна.
Оболонка для входу - це просто оболонка, на яку можна ввійти, як через неї ssh, так і на консолі. Оболонка без входу в систему - оболонка, в яку хтось теж не може ввійти. Оболонка без входу часто використовується програмами / системними службами.
Щодо третього моменту. Це правда .bashrc, виконується на кожному екземплярі оболонки. Однак .bash_profileвикористовується лише після входу. Таким чином, причина двох окремих файлів.
.profileдля речей, які не стосуються конкретно Bash, як змінні середовища $ PATH, вони також повинні бути доступні в будь-який час. .bash_profileспеціально для оболонок для входу або оболонок, виконаних під час входу.