Nếu bạn dành nhiều thời gian trên dòng lệnh, rất có thể bạn sẽ muốn tùy chỉnh môi trường shell của mình. Điều này có thể có nghĩa là tạo bí danh, thêm thư mục mới vào $PATH
hoặc thay đổi giao diện của dấu nhắc shell.
Bạn có thể đã đi qua một số hướng dẫn mà họ nói để đặt cấu hình của bạn, hoặc trong .bashrc
, .bash_profile
hoặc một tập tin cấu hình được đọc và thực hiện bởi bash shell.
Trong bài viết này, chúng ta sẽ nói về các tệp khởi động Bash và sự khác biệt giữa tệp .bashrc
và .bash_profile
.
Đăng nhập tương tác và shell không đăng nhập
Khi được gọi, Bash đọc và thực thi các lệnh từ một tập hợp các tệp khởi động. Những tệp nào được đọc phụ thuộc vào việc shell được gọi là shell đăng nhập tương tác hay shell không đăng nhập.
Một shell có thể tương tác hoặc không tương tác.
Nói một cách dễ hiểu, một shell tương tác là một shell đọc và ghi vào terminal của người dùng, trong khi một shell không tương tác là một shell không được liên kết với một terminal, giống như khi thực thi một tập lệnh.
Một shell tương tác có thể là shell đăng nhập hoặc không đăng nhập.
Một shell đăng nhập được gọi khi người dùng đăng nhập vào terminal từ xa qua ssh hoặc cục bộ hoặc khi Bash được khởi chạy với tùy chọn --login
. Một shell tương tác không đăng nhập được gọi từ shell đăng nhập, chẳng hạn như khi nhập bash
vào dấu nhắc shell hoặc khi mở tab đầu cuối Gnome mới.
Tệp khởi động Bash
Khi được gọi dưới dạng một shell đăng nhập tương tác, Bash sẽ tìm kiếm tệp /etc/profile
và nếu tệp tồn tại , nó sẽ chạy các lệnh được liệt kê trong tệp. Sau đó tìm kiếm Bash cho ~/.bash_profile
, ~/.bash_login
và ~/.profile
, theo thứ tự được liệt kê, và thực thi lệnh từ file có thể đọc đầu tiên được tìm thấy.
Khi Bash được gọi dưới dạng một shell tương tác không đăng nhập, nó sẽ đọc và thực thi các lệnh từ ~/.bashrc
, nếu tệp đó tồn tại và nó có thể đọc được.
Sự khác biệt giữa .bashrc và .bash_profile
.bash_profile
được đọc và thực thi khi Bash được gọi dưới dạng shell đăng nhập tương tác, trong khi .bashrc
được thực thi đối với shell tương tác không đăng nhập.
Sử dụng .bash_profile
để chạy các lệnh chỉ chạy một lần, chẳng hạn như tùy chỉnh biến $PATH
môi trường .
Đặt các lệnh sẽ chạy mỗi khi bạn khởi chạy một trình bao mới trong file.bashrc
. Điều này bao gồm bí danh và chức năng của bạn , lời nhắc tùy chỉnh, tùy chỉnh lịch sử , v.v.
Thông thường, ~/.bash_profile
chứa các dòng như bên dưới nguồn của .bashrc
. Điều này có nghĩa là mỗi khi bạn đăng nhập vào terminal, cả hai tệp đều được đọc và thực thi.
if [ -f ~/.bashrc ]; then . ~/.bashrc fi
Hầu hết các bản phân phối Linux đang sử dụng ~/.profile
thay vì ~/.bash_profile
. Các tập tin ~/.profile
được đọc bởi tất cả shell, trong khi ~/.bash_profile
chỉ bởi Bash.
Nếu bất kỳ tệp khởi động nào không có trên hệ thống của bạn, bạn có thể tạo tệp đó.
Phần kết luận
.bash_profile
và .bashrc
là các tệp chứa các lệnh shell được chạy khi Bash được gọi. .bash_profile
được đọc và thực thi trên shell đăng nhập tương tác, trong khi .bashrc
trên shell không đăng nhập.
Kiểm tra hướng dẫn sử dụng Bash để biết thêm thông tin về các tệp khởi động Bash .
Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, hãy để lại bình luận.