Tôi không thể tìm thấy .bash_profiletrong Ubuntu 14.04 trong /home/userthư mục của mình . Tôi đã sử dụng ls -alệnh để xem .bash_profile, nhưng không có tệp nào như vậy.
Tôi không thể tìm thấy .bash_profiletrong Ubuntu 14.04 trong /home/userthư mục của mình . Tôi đã sử dụng ls -alệnh để xem .bash_profile, nhưng không có tệp nào như vậy.
Câu trả lời:
Ubuntu sử dụng ~/.profile.
bạn có thể tạo .bash_profileUbuntu của mình nhưng sau đó .profilesẽ không được đọc.
Nếu chúng ta đọc nội dung .profile:
cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
Vì vậy, sử dụng ~/.profilethay vì~/.bash_profile
vim ~/.bashrcsau đó. ~/.bashrc
Khi gọi bash shell đăng nhập sẽ tìm các tệp cấu hình của nó theo thứ tự sau:
[0] ~/.bash_profile
[1] ~/.bash_login
[2] ~/.profile
Sau khi tìm thấy đầu tiên, nó ngừng tìm kiếm những người khác vì vậy nếu có một .bash_profiletrong tôi $HOMEbash sẽ không tìm kiếm .bash_loginvà .profilenữa.
Từ ba tên tệp này, Ubuntu theo mặc định sử dụng, .profilebạn có thể đổi tên thành .bash_profilenếu bạn muốn:
mv ~/.profile ~/.bash_profile
Bây giờ nếu chúng ta mở một shell bash mới sử dụng bash -l, su - $USER, sudo -u $USER -ihoặc bất kỳ lệnh khác chạy bash như một vỏ đăng nhập, ~/.bash_profilesẽ nhận được nguồn gốc.
Những gì tôi đã nói đến bây giờ chỉ áp dụng cho chính Bash, khi bạn đăng nhập vào hệ thống từ GUI, trình quản lý hiển thị có trách nhiệm tìm nguồn cung cấp các tệp chính xác.
Ubuntu sử dụng gdm3làm trình quản lý hiển thị của nó, nếu chúng ta xem qua: /etc/gdm3/Xsessionchúng ta có thể thấy rằng không có tệp nào sẽ có nguồn gốc ngoại trừ .profile::
# First read /etc/profile and .profile
for file in /etc/profile "$HOME/.profile"; do
if [ -f "$file" ]; then
source_with_error_check "$file"
fi
done
Vì vậy, nếu bạn đang sử dụng GUI để đăng nhập, hãy giữ tệp dưới .profiletên nếu không bạn có thể bỏ lỡ một số biến và cài đặt trong môi trường của mình.
Tôi đoán tùy chọn tốt hơn là tạo một liên kết tượng trưng đến .profile:
ln -s ~/.profile ~/.bash_profile
Bây giờ dữ liệu của bạn tồn tại .profile, gdmkhông bỏ lỡ bất cứ điều gì, tải bash .bash_profilethực sự .profilevà bằng cách chỉnh sửa từng dữ liệu , bạn sẽ nhận được kết quả tương tự.
Nếu bạn không có .profilethì lấy một bản sao của nó từ đây:
cp /etc/skel/.profile ~/.profile
hoặc là
# Remember the note above
cp /etc/skel/.profile ~/.bash_profile
man bashtrên Ubuntu vẫn mô tả cách nó sẽ tìm kiếm .bash_profile trước tiên.
.bash_profile đầu nó không thể tìm thấy nó (vì nó không tồn tại) sau đó tìm kiếm .bash_loginkhông thể tìm thấy nó một lần nữa (vì Ubuntu không sử dụng hai tên này) finaly nó trông cho .profilevà có có nó được. Vì vậy, nếu bạn tạo một .bash_profiletrong ~sau đó bạn đang ghi đè của ubuntu ~/.profile, đó là hành vi mặc định của bash gì đã được sửa đổi tại đây.
.bash_profile, nó không được đọc. Tôi mới nhận ra rằng điều này là do Ubuntu không còn sử dụng 'Bash' làm vỏ đăng nhập GUI. Nó sử dụng 'Dash' thay thế. Tôi nghĩ rằng điều này đã đúng từ khoảng 18.04.
Điều đó có nghĩa là tập tin không tồn tại. Nhưng, bạn có thể tạo tệp và bashthực thi / nguồn tệp nếu bashđược gọi dưới dạng vỏ đăng nhập. Vì vậy, giờ bạn đăng nhập thông qua một vỏ (ví dụ thông qua ssh).
Nếu bạn muốn nội dung thực thi mỗi khi bạn mở một thiết bị đầu cuối, thì bạn nên sửa đổi .bashrctệp thay thế.
/etc/skel/thư mục.
.bash_profilebị thiếu (và không hoạt động) trên Ubuntu trong các nhận xét về các câu trả lời khác.
Câu trả lời hàng đầu để sử dụng ~/.profilethay vì ~/.bash_profilekhông làm việc cho tôi.
Sửa đổi .bashrclàm việc
Chỉ:
vim ~/.bashrc
Lưu ý: Tôi đang sử dụng Ubuntu WSL.
~/.profilechỉ không được tải theo mặc định trong Ubuntu 18.04
Nếu bạn có nghĩa là .bashrc, bạn sẽ tìm thấy nó trong thư mục nhà của bạn. Nếu nó không ở đó, bạn có thể sao chép nó từ thư mục / etc / skel vào thư mục nhà của bạn.
Nếu bạn cần thêm một số thông tin về chủ đề này, vui lòng truy cập trang stefaan lippens.
~/.profilethay thế.