Sự khác biệt giữa /etc/bash.bashrc và ~ / .bashrc là gì? Tôi nên sử dụng cái nào?


Câu trả lời:


34

/etc/bash.bashrc áp dụng cho tất cả người dùng

~/.bashrc chỉ áp dụng cho người dùng trong đó thư mục nhà.


3
Và ngụ ý trong câu trả lời của dex là ... Sử dụng cục bộ ~ / .bashrc của bạn trong mọi trường hợp ngoại trừ trường hợp bạn muốn thực thi ý chí của mình đối với mọi người sử dụng máy đó.
dacracot

Nói đúng ra, bạn không thực thi bất cứ điều gì trong /etc/bash.bashrc vì người dùng luôn có thể thay đổi nó theo cách riêng của họ ~ / .bashrc
Kim

... ngoại trừ khi ai đó quyết định thực hiện tất cả các biến readonlytrong /etc/bash.bashrc: \
grawity

1
Trong Ubuntu, tệp này, như đã nhận xét ở phần đầu, phải được "lấy nguồn" từ tệp / etc / profile. Tôi đã thêm một lệnh bí danh ở cuối /etc/bash.bashrc và thêm lệnh "source /etc/bash.bashrc" vào cuối tệp / etc / profile. Hoạt động như một lá bùa.
jfmessier

2

Theo Tài liệu GNU 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, 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 ~ / .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. Tùy chọn --noprofile có thể được sử dụng khi trình bao bắt đầu ngăn chặn hành vi này.

Được gọi là một vỏ không đăng nhập tương tác Khi một vỏ tương tác không phải là vỏ đăng nhập được khởi động, Bash đọc và thực thi các lệnh từ ~ / .bashrc , nếu tệp đó tồn tại. Điều này có thể bị ức chế bằng cách sử dụng tùy chọn --norc. Tùy chọn tệp --rcfile sẽ buộc Bash đọc và thực thi các lệnh từ tệp thay vì ~ / .bashrc.

Vì vậy, thông thường, ~ / .bash_profile của bạn chứa dòng

nếu [-f ~ / .bashrc]; sau đó . ~ / .bashrc; fi

sau (hoặc trước) bất kỳ khởi tạo cụ thể đăng nhập.


1
Không hẳn vậy. Hãy xem tệp này git.savannah.gnu.org/cgit/bash.git/tree/shell.c , trong hàm run_startup_files () trong đó SYS_BASHRC được sử dụng, được định nghĩa trong git.savannah.gnu.org/cgit/bash.git/ cây / config-top.h
mloskot

1

Đối với sở thích cá nhân của bạn và tập lệnh cá nhân hoặc hàm bash, bạn nên sử dụng .bashrc (bí danh, Hàm đã thêm vào bash ...)

Khoảnh khắc mà bạn muốn chia sẻ thứ gì đó với tất cả người dùng (hoặc hầu hết người dùng) hoặc cho những thứ sử dụng chung (Đường dẫn cho các tệp thực thi được chia sẻ, đường dẫn cho tài liệu ...) đặt nó vào /etc/bash.bashrc

Tôi đã nói hầu hết người dùng bởi vì ngay cả chúng ta cũng nói rằng bạn chỉ định lời chào tập lệnh. Nó sẽ in "Hello world!"cho tất cả người dùng, nhưng người dùng Pepe muốn sử dụng thay vì lời chào tập lệnh "Hola el mundo!". Anh ta có thể sửa đổi đường dẫn của mình trong .bashrc để trỏ đến tập lệnh của mình thay vì tập lệnh của bạn. Nói cách khác, người dùng luôn có thể tùy chỉnh phiên của mình trong .bashrc theo những gì anh ta muốn.

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.