Sự khác biệt giữa .profile và .bash_profile là gì và khi nào bạn định cấu hình cái nào? (Mac) [trùng lặp]


23

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.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:


12

Giả sử bashlà vỏ mặc định của bạn, sự khác biệt được mô tả trong bashtrang 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, .profilexuấ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.


trong Ubuntu 18.04 mở một cửa sổ Terminal mới không .profilechỉ gọi .bashrc:(
CpILL

5

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 .profilemà 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 ~/.profiletrong của bạn .bash_profileđể các .profiletập tin được đọc (xem câu trả lời Ned Deily của).


3

.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.).


trong Ubuntu 18.04 mở một cửa sổ Terminal mới không gọi .profile?
CpILL

1

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 ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.