ubfox: profile.d và .bash_profile bị thiếu


1

Tôi đã thực hiện một số đọc về khởi động Linux, v.v. và tôi nhận thấy rằng trong thư mục nhà của tôi, nó không có thư mục profile.d:

/home/user/profile.d/ # Doesn't exists

và cũng không phải là một tập tin .bash_profile:

/home/user/.bash_profile # Doesn't exists

Có một lý do cho điều này?

Ubuntu 15.04, gnome

Câu trả lời:


0

Câu trả lời ngắn gọn: không sao cả.

Có nhiều tệp người dùng khởi tạo vì người dùng có thể quyết định đăng nhập tài khoản máy tính theo nhiều cách khác nhau, từ bảng điều khiển, với vỏ tương tác hoặc không tương tác, với các loại vỏ khác nhau. Nó không phải là một đặc quyền của tất cả người dùng, nhưng với nhu cầu giữ một khả năng tương thích ngược, nó đã hoàn thành để làm phức tạp một chút những điều. :-)

  • Một thư mục profile.d không nên nằm trong thư mục chính của bạn :
    /etc/profile.dchứa các tập lệnh với các tệp khởi động dành riêng cho ứng dụng, cũng được thực thi tại thời điểm khởi động bởi trình bao. Nó là một thư mục hợp lệ cho tất cả người dùng, vì nó được tạo theo /etc/đường dẫn chứ không phải trong mỗi thư mục nhà của một người dùng.

  • Tệp ~/.bash_profilenày là một trong những tệp khởi tạo cá nhân và khi nó tồn tại được lưu trữ trong mỗi nhà của người dùng. Nhưng nó không cần thiết mà nó tồn tại. Nó nên chứa các lệnh dành riêng cho bash sẽ được chạy khi bắt đầu shell đăng nhập ( ~/.profilecũng có thể được đọc từ các shell khác nhau, thường hiểu một cú pháp khác với bash).


Đọc thêm từ INVOCATIONphầnman bash

Khi bash được gọi như một vỏ đăng nhập tương tác (...) trước tiên, nó sẽ đọc và thực thi các lệnh từ tệp/etc/profile , nếu tệp đó tồn tại.
Sau khi đọc tệp đó, nó tìm kiếm ~/.bash_profile, ~/.bash_login~/.profile, theo thứ tự đó, và đọc và thực thi các lệnh từ cái đầu tiên tồn tại và có thể đọc được .

Vì vậy, nếu bạn có một ~/.bash_profiletệp, nó sẽ không được đọc ~/.profile, nếu không được gọi (hoặc có nguồn gốc) trong một trong các tệp khác.

Lưu ý rằng

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ừ /etc/bash.bashrc~/.bashrc, nếu các tệp này tồn tại.

Từ một số phiên bản Ubuntu 12 (và chắc chắn từ 13.10) .profilecó nguồn gốc ~/.bashrc.

Điều này có thể gây ra hành vi không mong muốn khi chạy shell đăng nhập (chẳng hạn như khi sshvào máy chẳng hạn) mà người dùng sẽ không mong muốn có ~/.bashrcnguồn gốc.

Tài liệu tham khảo:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.