Tại sao nó sẽ nguồn nó? Bạn không chạy đúng bash
:
$ echo $SHELL
/bin/sh
Trong hầu hết các hệ thống hiện đại sh
là một liên kết tượng trưng đến lớp vỏ cơ bản. Trên Debian của tôi chẳng hạn:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 1 2012 /bin/sh -> dash
Trong trường hợp của bạn, sh
là một liên kết đến bash
nhưng, như được giải thích trong man bash
:
Nếu bash được gọi với tên sh, nó sẽ cố gắng bắt chước hành vi khởi động của các phiên bản lịch sử của sh càng gần càng tốt, đồng thời tuân thủ tiêu chuẩn POSIX. [...] Khi được gọi dưới dạng vỏ tương tác với tên sh, bash tìm biến ENV, mở rộng giá trị của nó nếu được xác định và sử dụng giá trị mở rộng làm tên của tệp để đọc và thực thi. Do shell được gọi là sh không cố đọc và thực thi các lệnh từ bất kỳ tệp khởi động nào khác , nên tùy chọn --rcfile không có hiệu lực.
và
--norc
Không đọc và thực thi tệp khởi tạo trên toàn hệ thống /etc/bash.bashrc và tệp khởi tạo cá nhân ~ / .bashrc nếu trình bao tương tác. Tùy chọn này được bật theo mặc định nếu shell được gọi là sh.
Vì vậy, vì shell mặc định của bạn là sh
, .bashrc
không được đọc. Chỉ cần đặt shell mặc định của bạn thành bash bằng cách sử dụng chsh -s /bin/bash
.
/bin/sh
chỉ vào/bin/bash
. Tôi cho rằng vấn đề này xuất phát từ việc không gán vỏ một cách rõ ràng/bin/bash
khi tôi tạo tài khoản người dùng ban đầu.