Anda dapat menggunakan fitur debugging shell untuk melihat apa yang terjadi ketika bash memanggil shell interaktif. Yang berikut ini akan menunjukkan kepada Anda semua alias yang ditugaskan ketika shell interaktif dihasilkan dari shell login:
bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
-x
-> aktifkan debugging
-l
-> shell login
-i
-> shell interaktif
-c
-> perintah
Menjalankan perintah keluar diperlukan agar shell kembali. The -i
diperlukan dalam kasus ini karena bash tidak akan mendirikan sebuah lingkungan yang interaktif untuk menjalankan perintah sebaliknya.
Ini adalah contoh dari sistem saya:
$ bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
++ alias 'ls=ls --color=auto'
$ alias -p
alias ls='ls --color=auto'
Untuk melihat file apa yang terakhir kali diambil ketika alias ditugaskan untuk menentukan file itu terjadi, Anda dapat memperluas grep:
bash -x -l -i -c 'exit' 2>&1 | grep -E ' (alias|[.]|source) '
Ini mungkin mengembalikan positif palsu, tetapi harus baik-baik saja jika Anda memeriksa secara manual data yang dikembalikan. Jumlah simbol '+' di depan perintah yang dieksekusi menunjukkan kedalaman.
+ . /home/jordan/.bashrc
++ alias 'ls=ls --color=auto'
++ . /home/jordan/.foo
+++ alias t=test
++ alias t=test2
Dalam output sampel ini, ini menunjukkan bahwa .bashrc menetapkan alias untuk ls
, .foo alias t
, dan kemudian .bashrc menimpa alias sebelumnya dari t
.