/ etc / profile vs ~ / .profile


13

Tôi chạy Ubuntu 12.04.1 LTS. Và tôi không thể nhận được thứ tự / ưu tiên để tải tập tin hồ sơ là gì. Khi tôi khởi động hệ thống và đăng nhập bằng GUI, tập tin nào được tải? Và tại sao? Điều gì nếu chạy đăng nhập shell? Nó sẽ giống nhau chứ? Thực tế ngay bây giờ tôi không thể hiểu tại sao mình ~/.profilekhông tải khi hệ thống khởi động vì ở đây tôi thấy nó nên:

https://help.ubfox.com/community/EnvirVariables


Làm thế nào để bạn kiểm tra xem ~ / .profile có được tải không?
Andrea Corbellini

Có biến môi trường được cập nhật trong ~ / .profile
sunprophit

Câu trả lời:


3

Bạn có thể xác định một biến trong mỗi tệp:

ORDER=${ORDER}+"/etc/profile"

tương ứng

ORDER=${ORDER}+"~/.profile"

và thực hiện một

echo ${ORDER}

để xem, những gì đã được tham gia và theo thứ tự. Tất nhiên nó sẽ không cho bạn biết, nếu có các kịch bản khác nhau mà bạn bỏ lỡ.

Vì vậy, nếu bạn thấy một nguồn được đề cập, hãy đọc tập lệnh đó để xem, liệu một tập lệnh có nguồn khác không, và bao gồm cả các tập lệnh này.

/etc/bash.bashrc và ~ / .bashrc và ~ / .bash_login xuất hiện trong tâm trí, cũng như những thứ từ / etc / default.


Hừm, $ ĐẶT HÀNG trống, có nghĩa là không ai trong số họ được tải?
sunprophit

Không chắc chắn tại sao $ ORDER trống, có thể do một số lỗi cú pháp. Tôi không biết nhiều về sự khác biệt của dash và bash. Mặc dù tôi sẽ đánh dấu bạn trả lời đúng vì nó giúp giải quyết vấn đề ở đâu.
sunprophit

7

Tất cả phụ thuộc vào người dùng mà bạn đang cố gắng đăng nhập. Tệp toàn cầu /etc/profileđược tải cho mọi người dùng , trong khi tệp ~/.profilechỉ được tải cho người dùng.

~trỏ đến thư mục nhà của người dùng hiện tại. Vì vậy, nếu bạn đặt nó vào /home/user-a/.profilevà đăng nhập user-a, cả tệp toàn cầu và tệp người dùng của nó đều được tải (theo thứ tự đó), trong khi nếu bạn đăng nhập như user-bkhông có .profiletệp, nó chỉ tải tệp toàn cầu.


Trong hồ sơ người dùng hiện tại (~ / .profile) có một phần nên cập nhật các biến môi trường. Tôi có nghĩa là nó không phải trong một số hồ sơ khác. Đó là hồ sơ của người dùng này. Nhưng tôi đã thử giải pháp @user_unknown để kiểm tra tải hồ sơ và dường như không ai trong số họ được tải.
sunprophit

0

Cả hai nên được tải và ~ / .profile nên được tải sau cùng (có nghĩa là nó được ưu tiên).


Sau đó, tôi không chắc chắn những gì đang xảy ra. Nếu tôi chạy nó rõ ràng trong thiết bị đầu cuối, nó tải. Có thể có vấn đề trong quá trình đăng nhập và kết quả là ~ / .profile không tải, nhưng sau đó trong thiết bị đầu cuối không có những vấn đề này. Tôi có thể kiểm tra nếu hệ thống cố tải nó không?
sunprophit

0

Đó là lỗi của tôi. Có [[some_test]] trong ~ / .profile của tôi và nó chạy tốt trong bash, nhưng tôi đoán dash chạy một số lệnh pre_session_creation / post_session_creation khi bắt đầu phiên và dash không biết [[keyword. Vì vậy, mọi thứ đã được tải nhưng dừng lại ở lỗi.

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.