Tập tin .bashrc được tìm thấy ở đâu trong Linux?


13

Tôi không tìm thấy .bash_login và .bash_profile của tôi

root@linux:~# locate .bash*
/etc/bash.bashrc
/etc/skel/.bashrc
/etc/skel/.bashrc.original
/home/noroot/.bashrc
/home/noroot/.bashrc.original
/root/.bash_history
/root/.bashrc
/usr/share/base-files/dot.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
/usr/share/kali-defaults/.bashrc
root@linux:~# 

Có phải luôn luôn chỉ có một tệp .bashrc và .bash_profile cho mỗi người dùng?

Và, có phải .bashrc và .bash_profile luôn được tìm thấy trong thư mục / home / "tên người dùng" không?

Câu trả lời:


14

Những cái duy nhất bash nhìn theo mặc định là trong thư mục nhà của người dùng, vâng. Thông thường cũng có một nguồn duy nhất cho chúng trong Linux - / etc / skel. Thư mục nhà của người dùng không cần phải ở dưới / nhà.

Tôi thấy bạn đã chỉnh sửa câu hỏi của mình để hỏi các tệp .bash_login và .bash_profile của bạn ở đâu. Dựa trên #lời nhắc, tôi sẽ giả sử bạn đang chạy cái này với quyền root. Trong trường hợp đó, tập tin của bạn là

/root/.bash_history
/root/.bashrc

Xem câu trả lời ban đầu của tôi ở trên về thư mục nhà của người dùng - không phải lúc nào cũng / nhà; trong trường hợp này, thư mục gốc của root là /root.


9

Theo man bash:

Khi bash được gọi dưới dạng shell đăng nhập tương tác hoặc dưới dạng shell không tương tác với tùy chọn --login, đầu 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ó sẽ tìm ~ / .bash_profile, ~ / .bash_login và ~ / .profile, theo thứ tự đó, đọc và thực thi các lệnh từ lệnh đầu tiên tồn tại và có thể đọc được.

~/.bash_profile
    The personal initialization file, executed for login shells

~/.bashrc
    The individual per-interactive-shell startup file

Ngoài ra còn có /etc/bashrc( /etc/bash.bashrctrong Linux dựa trên Debian) có chứa System wide functions and aliases. Theo mặc định, điều này được đặt, ngay cả đối với các vỏ không tương tác, không đăng nhập.

BIÊN TẬP:

Các tildeđường dẫn chỉ ra home directoryngười dùng hiện đang đăng nhập. Bash chỉ có thể sử dụng một trong ~/.bash_profile, ~/.bash_login, or ~/.profile(mỗi người dùng hiện đang đăng nhập), theo thứ tự đó, để đọc và thực thi các lệnh. (Các hệ điều hành dựa trên Debian thường không có ~/.bash_profile or ~/.bash_login. Chúng sử dụng tệp ~/.profile. Tệp này giải thích rằng nó sẽ được đọc và sử dụng trừ khi ~/.bash_profile or ~/.bash_loginđược tạo.

#~/.profile: executed by the command interpreter for login shells.

#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login tồn tại


Bằng cách nào điều này trả lời câu hỏi của tôi?

1
@BROY Nó trả lời câu hỏi bạn nên hỏi chứ không phải câu hỏi bạn đã làm.
Shadur

Tôi đã thấy một số người đặt tệp .bash_profile trong các thư mục dự án, điều đó có thực sự được chọn bởi bash không? Tôi không nghĩ rằng điều đó được cho là xảy ra theo mặc định.
Alexander Mills

5

Bạn bashrcvị trí của tập tin là distro phụ thuộc vào ... Dưới đây là danh sách cơ bản cho hệ thống bashrc:
/etc/bashrc(Redhat, Fedora, vv)
/etc/bash.bashrc(Debian, Ubuntu, Linux Mint, Backtrack, Kali vv)
/etc/bash.bashrc.local(Suse, OpenSuse, vv)
Sau đó là Người dùng riêng lẻ bashrc, phần lớn được lưu trữ ~/.bashrccho mọi phân phối ... Nếu bạn không có một trong các bản phân phối được liệt kê hoặc có một hệ thống đặc biệt, bạn luôn có thể tìm kiếm bashrcvị trí trên google cho bản phân phối đó hoặc hệ thống ...
Trân trọng,
Thú vị ...


1

Như mọi người đã nói, bạn có thể tìm thấy bộ xương bashrc trong /etc/skel/.bashrc. Nếu người dùng khác nhau muốn cấu hình bash khác nhau thì bạn phải đặt tệp .bashrc trong thư mục chính của người dùng đó.

Khi nói đến .bash_profile và .bash_login, người dùng cần tạo chúng theo cách thủ công và liên kết chúng qua bashrc. bash_profile và bash_login tồn tại để tạo cảm giác ngăn nắp hơn cho các cài đặt khác nhau mà bạn tải. Cá nhân tôi giữ tất cả các bí danh của mình trong bash_profile để tôi không phải sắp xếp một mớ hỗn độn trong bashrc để chỉnh sửa nhanh.

Dưới đây là một ví dụ về những gì bạn sẽ có trong tệp .bashrc của mình:

if [ -f ~/.bash_profile ]; then
        . ~/.bash_profile
fi
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.