Saya menganggap bagian yang sulit dari pertanyaan ini bukan "bagaimana saya bisa menemukan carriage return dalam file?" tetapi "bagaimana saya bisa mengetahui file mana yang digunakan bashrc saya?"
Untuk pertanyaan kedua, Anda dapat mencoba sesuatu seperti ini:
bash -x .bashrc
Ini akan menunjukkan semua yang dilakukan bashrc Anda, termasuk semua file yang dirujuk. Itu berisik, tetapi akan membantu Anda melacak file mana yang sedang digunakan.
Kecuali sebenarnya, .bashrc
file saya (dan banyak lainnya) keluar lebih awal jika tidak berjalan secara interaktif, jadi Anda harus mengelabunya agar melewati pemeriksaan itu:
bash -ix .bashrc
Di sini -i
gaya mode interaktif.
Untuk memahami hanya kasus-kasus di mana Anda sumber file, sesuatu seperti ini bekerja untuk saya tapi saya tidak bisa menjanjikan regex menangkap segalanya:
bash -ix .bashrc 2> >(grep -E '^\+* (\.|source)')
Saya kira Anda mungkin juga menginginkan pesan kesalahan, jadi sesuatu seperti:
bash -ix .bashrc 2> >(grep -E -e '^\+* (\.|source)' -e 'command not found')
Jika karena alasan tertentu tidak ada yang berhasil, saya akan menggunakan strace -e open bash
atau sesuatu seperti itu, untuk menemukan setiap kali file dibuka oleh sesi bash Anda. Tapi itu solusi yang lebih berat / berisik.