Khác nhau giữa .bashrc và .profile

Trong hệ thống file của user openSUSE có 2 file ẩn là .bashrc và .profile, 2 file này nói chung chứa các lệnh và các lệnh này sẽ được gọi đến vào lúc khởi động. Thế nhưng vẫn có những điểm khác biệt giữa nhiệm vụ và chức năng của 2 file này.
.bashrc: Các lệnh trong .bashrc sẽ được gọi khi khởi tạo 1 shell (nên nhớ khi đăng nhập vào hệ thống đó cũng là 1 shell rồi)
.profile: Các lệnh trong .profile chỉ được gọi khi user login vào hệ thống

Như vậy khi bạn tạo 1 shell bằng cách gọi konsole ảo (terminal) thì nó sẽ triệu gọi .bashrc và bỏ qua .profile. Chính sự khác biệt đó dẫn đến 1 trường hợp sau: giả sử bạn muốn thay đổi biến môi trường PATH=new_path:$PATH thì nếu thêm vào .profile thì bạn sẽ phải logout rồi login trở lại mới có hiệu quả; còn nếu thêm vào .bashrc thì sẽ có hiệu quả ngay tức thì khi bạn mở konsole khác.

Đến đây lại có 1 vấn đề khác là khi 1 user đăng nhập vào hệ thống thì .bashrc hay .profileđược gọi trước? Sau khi thử nghiệm (sử dụng mkdir và rm trong 2 file đó) kết quả cho ra rằng: khi 1 user login vào hệ thống thì nó sẽ triệu gọi .bashrc trước rồi mới đến .profile, sau đó mới triệu gọi đến các đoạn script khai báo trong .kde4/Autostart.

Tóm lại ta có sơ đồ triệu gọi như sau:


.bashrc --> .profile --> .kde4/Autostart

Nhận xét

Bài đăng phổ biến