Những .profilengày trở lại vỏ Bourne ban đầu được gọi là sh. Vì shell GNU bashlà (tùy thuộc vào các tùy chọn của nó) là một superset của shell Bourne, cả hai shell đều có thể sử dụng cùng một tệp khởi động. Đó là, với điều kiện chỉ shcác lệnh được đưa vào.profile
Ví dụ, aliaslà một lệnh tích hợp hợp lệ bashnhưng không xác định sh. Do đó, nếu bạn chỉ có một .profiletrong thư mục nhà của bạn và đặt một aliastuyên bố trong đó, shsẽ phàn nàn. Vì vậy, có một tệp cụ thể bash có các lệnh khởi tạo shell mà bash sẽ đọc nếu và chỉ khi không có .profiletệp nào.
Trên thực tế, đó là một chút đơn giản hóa trong một số cài đặt và tôi không quen với Fedora. Trong bash, /etc/profileđược đọc bởi shell trước bất kỳ tệp nào trong thư mục chính của bạn. Nếu có một kịch bản khởi tạo trên toàn hệ thống, nó thường nói một cái gì đó như
if there is a $HOME/.profile:
source it
elseif bash is my shell and there is a $HOME/.bash_profile:
source that
Tại sao lại như vậy? Một nỗ lực tương thích qua nhiều thập kỷ phương ngữ vỏ. Tại sao hướng dẫn được viết theo cách đó? Vỏ Bourne thường không được sử dụng nhiều nữa và một số người thậm chí không biết rằng có vỏ nào khác giống Bourne hơn bash. Ngay cả khi cú pháp Bourne (giới hạn) được sử dụng để tương thích đa nền tảng lớn hơn, nó vẫn thường được chạy dashhoặc bash trong chế độ tương thích POSIX. Thật vậy, nguồn shell Bourne thực tế có lẽ là một thành phần bản quyền của Unix System V dường như là tài sản của Novell nhưng tôi không biết họ đang làm gì với nó.
Đối với người dùng mới bắt đầu, sử dụng một trong hai $HOME/.profilehoặc $HOME/.bash_profilekhông phải cả hai và bạn sẽ ổn. Vì bạn đã có một .bash_profilecông việc với điều đó bởi vì nó có thể có những thứ cụ thể của hệ thống trong đó mà bạn cần cài đặt.