Trên thực tế, nó bashđặc biệt đọc .bashrc(và
/etc/bash.bashrc). Có rất nhiều vỏ khác nhau.
Trang bash man (của Brian Fox và Chet Ramey; cũng là trang thông tin "Bash Startup Files" ) là tài liệu tham khảo chính thức:
Khi một vỏ tương tác không phải là vỏ đăng nhập được khởi động, bash sẽ đọc và thực thi các lệnh từ đó ~/.bashrc, nếu tệp đó tồn tại. Điều này có thể bị ức chế bằng cách sử dụng --norctùy chọn. Các --rcfiletùy chọn tập tin sẽ buộc bash để đọc và thực hiện các lệnh từ tập tin thay vì ~/.bashrc.
Ví dụ, khi bash được khởi động không tương tác, để chạy tập lệnh shell, nó tìm kiếm biến BASH_ENVtrong môi trường, mở rộng giá trị của nó nếu nó xuất hiện ở đó và sử dụng giá trị mở rộng làm tên của tệp để đọc và thực thi. Bash hành xử như thể lệnh sau được thực thi:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
nhưng giá trị của PATHbiến không được sử dụng để tìm kiếm tên tệp.
Các tập tin chỉ là lệnh shell. Nó thường được sử dụng để thay đổi lời nhắc, đặt biến môi trường và xác định thủ tục shell. Theo truyền thống, tệp .profileđược sử dụng cho mục đích này, nhưng
bashcó rất nhiều tiện ích mở rộng nên nó cần tệp khởi động riêng cho người dùng muốn đặt bashism
vào tệp khởi động.
" Không phải là vỏ đăng nhập " có nghĩa là những thứ như kịch bản khởi chạy và thường các cửa sổ đầu cuối được bắt đầu bởi các trình quản lý cửa sổ. Đôi khi tôi thiết lập các hệ thống * nix để có .bashrcvà BASH_ENVchỉ cần nguồn .profile. Miễn là bạn không đi lạc bên ngoài các lệnh shell POSIX thì bạn sẽ nhận được cùng một khởi tạo trong bất kỳ shell nào.
Nó đặc biệt có giá trị khi shthực sự bash, điều này đôi khi xảy ra. Để làm điều này sử dụng:
. .profile
Một lý do điều này rất phức tạp là bởi vì đôi khi mọi người đặt những thứ tạo ra đầu ra vào các tệp khởi động shell hoặc họ đặt các lời nhắc vô điều kiện. Điều này gây ra nhiều vấn đề khi chạy các chương trình shell và các lệnh backtick trong các ngôn ngữ, chưa kể đến
system(3)từ các chương trình C. Cách thức bashkhởi động được thiết kế, tôi nghĩ, để có một tệp trong đó cài đặt đầu ra và nhắc nhở là OK và một tệp không có. Theo truyền thống, một bài kiểm tra thời gian chạy sẽ được thực hiện để phân biệt tính tương tác, ví dụ, kiểm tra xem liệu lời nhắc có được đặt không.
.bashrclà một trong nhiều tập tin cấu hình bash. Xem tài liệu chính thức về Bash Startup Files .