Tôi coi phần khó của câu hỏi này là "làm thế nào tôi có thể tìm thấy vận chuyển trở lại trong một tập tin?" nhưng "làm thế nào tôi có thể tìm ra tập tin nào mà bashrc của tôi sử dụng?"
Đối với câu hỏi thứ hai, bạn có thể thử một cái gì đó như thế này:
bash -x .bashrc
Điều này sẽ cho bạn thấy mọi thứ mà bashrc của bạn làm, bao gồm tất cả các tệp mà nó đề cập đến. Nó không gây ồn ào, nhưng sẽ giúp bạn theo dõi những tập tin nào đang được sử dụng.
Thực tế, ngoại trừ, các .bashrc
tệp của tôi (và nhiều tệp khác) thoát sớm nếu không chạy tương tác, vì vậy bạn phải lừa nó để vượt qua kiểm tra đó:
bash -ix .bashrc
Ở đây các -i
lực lượng chế độ tương tác.
Để tìm ra những trường hợp bạn lấy một tập tin, một cái gì đó như thế này có hiệu quả với tôi nhưng tôi không thể hứa rằng regex sẽ nắm bắt mọi thứ:
bash -ix .bashrc 2> >(grep -E '^\+* (\.|source)')
Tôi đoán bạn cũng có thể muốn các thông báo lỗi, vì vậy một cái gì đó như:
bash -ix .bashrc 2> >(grep -E -e '^\+* (\.|source)' -e 'command not found')
Nếu vì một lý do nào đó, không cái nào trong số này hoạt động, tôi sẽ dùng đến strace -e open bash
cái gì đó tương tự, để tìm mỗi khi bất kỳ tệp nào được mở bởi phiên bash của bạn. Nhưng đó là một giải pháp thậm chí nặng hơn / ồn ào.