Có một vài điều bạn có thể thử:
- sử dụng
bash -vđể xem những dòng nào đang được đọc trong quá trình khởi động shell
- sử dụng
bash -xđể xem những lệnh nào đang được chạy trong quá trình khởi động shell
- chỉ chạy với một tập tin khởi động
bash -v
Các -v tùy chọn làm cho bashin mỗi dòng từ mỗi tập tin kịch bản nó đọc như nó đọc nó.
Bắt đầu bằng cách chạy
bash -i -v >bash-i.out 2>&1
Đợi 5-10 giây, sau đó nhấn Ctrl+C.
Điều này sẽ cung cấp cho bạn một tệp duy nhất được gọi bash-i.outlà giống như tất cả các tệp khởi động của bạn được hợp nhất (hoặc nối) với nhau.
Sau đó sử dụng lessđể mở tệp và tìm kiếm bí danh bằng cách sử dụng /aliasname.
Bây giờ, so sánh nơi bí danh xuất hiện liên quan đến các dòng khác trong tệp. Ví dụ, trên hầu hết các hệ thống, /etc/bash.bashrccó một nhận xét ở đầu nói /etc/bash.bashrcvà ~/.bashrccũng có một nhận xét .
Nếu nó ở trên đỉnh của bạn ~/.bashrc, thì đó có thể là một tệp khởi động trong /etcđó xác định bí danh, nếu không thì nó nằm trong ~/.bashrctệp của bạn hoặc bao gồm thông qua sourcehoặc .(lệnh chấm).
Nếu điều đó không hiển thị bí danh, hãy thử
bash -l -v >bash-l.out 2>&1
Mà nói với bash là một vỏ đăng nhập, mà đọc một số file khởi động khác nhau, ví dụ /etc/profilevà ~/.bash_profilethay /etc/bash.bashrcvà ~/.bashrc.
bash -x
Nếu bash -vkhông cung cấp cho bạn một câu trả lời chắc chắn, hãy thử chạy bash -x, trong đó in các lệnh mà shell đang chạy, thay vì các dòng mà shell của bạn đang đọc.
Phương pháp về cơ bản giống như trên trừ thay đổi -vthành -x. (Bạn có thể sử dụng cả hai cùng nhau nếu cần thiết.)
Chạy chỉ với một tệp khởi động
bash -i --rcfile="$HOME/.bashrc"
và xem nếu bạn có bí danh.
Hãy thử tương tự với rcfilethiết lập /etc/bash.bashrcnếu hệ thống của bạn có nó.
Vậy hãy thử đi
bash -l --rcfile="$HOME/.bash_profile"
và làm tương tự với mọi tệp khởi động bash có profiletên của nó, ví dụ: thay đổi $HOME/.bash_profilethành /etc/profile.
Bất cứ cách nào làm cho bí danh xuất hiện cho bạn biết tệp bạn nên bắt đầu xem.
set -xnhư đề xuất ở đầu của bạn và xem nếu điều đó thu hẹp nó cho bạn.