คุณสามารถใช้คุณสมบัติการดีบักเชลล์เพื่อดูว่าเกิดอะไรขึ้นเมื่อ bash เรียกใช้เชลล์แบบโต้ตอบ ต่อไปนี้จะแสดงชื่อแทนทั้งหมดที่ได้รับมอบหมายเมื่อเชลล์เชิงโต้ตอบได้รับมาจากเปลือกเข้าสู่ระบบ:
bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
-x -> เปิดใช้งานการแก้ไขข้อบกพร่อง
-l -> เปลือกเข้าสู่ระบบ
-i -> เปลือกโต้ตอบ
-c -> คำสั่ง
การรันคำสั่ง exit จำเป็นต้องมีเพื่อให้เชลล์ส่งคืน -iเป็นสิ่งจำเป็นในกรณีนี้เพราะทุบตีจะไม่ได้ตั้งค่าสภาพแวดล้อมการโต้ตอบเพื่อเรียกใช้คำสั่งเป็นอย่างอื่น
นี่คือตัวอย่างจากระบบของฉัน:
$ bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
++ alias 'ls=ls --color=auto'
$ alias -p
alias ls='ls --color=auto'
เพื่อดูว่าไฟล์ใดถูกแหล่งข้อมูลล่าสุดเมื่อกำหนดนามแฝงเพื่อกำหนดไฟล์ที่เกิดขึ้นคุณสามารถขยาย grep:
bash -x -l -i -c 'exit' 2>&1 | grep -E ' (alias|[.]|source) '
สิ่งนี้อาจส่งคืนผลบวกปลอม แต่ควรใช้ได้ถ้าคุณตรวจสอบข้อมูลที่ส่งคืนด้วยตนเอง จำนวนของสัญลักษณ์ '+' ด้านหน้าคำสั่งที่ดำเนินการจะระบุความลึก
+ . /home/jordan/.bashrc
++ alias 'ls=ls --color=auto'
++ . /home/jordan/.foo
+++ alias t=test
++ alias t=test2
ในการส่งออกตัวอย่างนี้แสดงให้เห็นว่า .bashrc ชุดนามแฝงสำหรับlsนามแฝง .foo tแล้ว .bashrc tแทนที่นามแฝงก่อนหน้านี้