Kabuk etkileşimli bir kabuk çağırdığında tam olarak ne olduğunu görmek için kabuk hata ayıklama özelliğini kullanabilirsiniz. Aşağıda, bir giriş kabuğundan etkileşimli kabuk oluşturulduğunda atanan tüm diğer adlar gösterilmelidir:
bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
-x
-> hata ayıklamayı etkinleştir
-l
-> giriş kabuğu
-i
-> etkileşimli kabuk
-c
-> komut
Kabuğun geri dönmesi için çıkış komutunun çalıştırılması gerekir. -i
Bash aksi bir komutu çalıştırmak için interaktif bir ortam kurmak olmaz çünkü bu durumda gereklidir.
İşte benim sistemimden bir örnek:
$ bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
++ alias 'ls=ls --color=auto'
$ alias -p
alias ls='ls --color=auto'
Oluşan dosyayı belirlemek üzere takma ad atandığında en son hangi dosyanın kaynaklandığını görmek için grep'i genişletebilirsiniz:
bash -x -l -i -c 'exit' 2>&1 | grep -E ' (alias|[.]|source) '
Bu yanlış pozitifler döndürebilir, ancak döndürülen verileri manuel olarak inceliyorsanız iyi olmalıdır. Yürütülen komutun önündeki '+' sembollerinin sayısı derinliği gösterir.
+ . /home/jordan/.bashrc
++ alias 'ls=ls --color=auto'
++ . /home/jordan/.foo
+++ alias t=test
++ alias t=test2
Bu örnek çıktısında, .bashrc ls
öğesinin .foo diğer adları için bir diğer ad ayarladığını t
ve sonra da .bashrc öğesinin önceki diğer adını geçersiz kıldığını gösterir t
.