4 tháng 3, 2010

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

Trong hệ thống file của user openSUSE có 2 file ẩn là .bashrc.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.

  1. .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)
  2. .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 mkdirrm 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

=-=-=-=-=
Powered by Blogilo

Không có nhận xét nào:

Đăng nhận xét