Có thể trùng lặp:
Sự khác biệt giữa .bashrc và .bash_profile
Sự khác biệt giữa những gì .profile
và .bash_profile
, và khi nào bạn cấu hình đó?
Tức là nếu tôi cấu hình .bash_profile
, tôi vẫn cần phải cấu hình .profile
?
Có thể trùng lặp:
Sự khác biệt giữa .bashrc và .bash_profile
Sự khác biệt giữa những gì .profile
và .bash_profile
, và khi nào bạn cấu hình đó?
Tức là nếu tôi cấu hình .bash_profile
, tôi vẫn cần phải cấu hình .profile
?
Câu trả lời:
Giả sử bash
là vỏ mặc định của bạn, sự khác biệt được mô tả trong bash
trang man ( man bash
):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
Có nhiều chi tiết hơn trong trang hướng dẫn bao gồm chế độ tương thích vỏ POSIX, .profile
xuất phát từ đâu. Đọc toàn bộ phần trang người đàn ông cho tất cả các chi tiết.
Nếu bạn định cấu hình .bash_profile
, bạn cũng sẽ không cần phải định cấu hình .profile
.
Tôi muốn giữ bí danh và lệnh của riêng mình .profile
để nếu tôi làm hỏng bất cứ điều gì, tôi biết rằng tôi luôn có thể xóa .profile
mà không ảnh hưởng đến hệ thống ở các ứng dụng lớn hoặc các ứng dụng khác có thể sửa đổi .bash_profile
(như MacPorts).
Để sử dụng .profile
, bạn có thể cần phải bao gồm các dòng source ~/.profile
trong của bạn .bash_profile
để các .profile
tập tin được đọc (xem câu trả lời Ned Deily của).
.profile được thực thi bằng bash khi bạn có một quy trình shell bình thường - ví dụ: bạn mở một công cụ đầu cuối. .bash_profile được thực thi bằng bash cho shell đăng nhập - vì vậy đây là khi bạn telnet / ssh vào máy của bạn từ xa chẳng hạn. Chẳng hạn, nếu bạn ssh từ xa vào máy (giả sử bạn mở X Terminal), bạn sẽ nhận được .bash_profile ban đầu được thực thi. Nếu trong Xterminal đó, bạn gõ "xterm" và sinh ra X Terminal khác, thì .profile sẽ được thực thi cho phiên bản thứ hai của Xterminal. Các tập tin nằm trong thư mục nhà của bạn (~). Nếu tôi không nhầm lẫn theo mặc định thì cả hai đều thực thi ~ / .bashrc để bạn có thể chỉnh sửa nó để định cấu hình các cài đặt / biến chung cho cả shell đăng nhập và không đăng nhập (ví dụ: đặt PATH, một số bí danh / phím tắt, v.v.).
.profile
?
cho cấu hình nhanh và đơn giản (nơi bạn không muốn làm phức tạp mọi thứ) chỉ cần định cấu hình mọi thứ trong ~ / .profile của bạn. Chỉ khi bạn gặp phải một số rắc rối (nhưng có lẽ sẽ không bao giờ) tìm hiểu thêm về .bash_login hoặc .bash_profile;)
Tôi cũng dùng OS X và không bao giờ cần .bash_profile hoặc .bash_login và chỉ sử dụng .profile, nhưng số dặm của bạn có thể thay đổi ...
.profile
chỉ gọi.bashrc
:(