มีบางสิ่งที่คุณสามารถลองได้:
- ใช้
bash -v
เพื่อดูว่าบรรทัดใดที่กำลังอ่านในระหว่างการเริ่มต้นเชลล์
- ใช้
bash -x
เพื่อดูว่าคำสั่งใดถูกเรียกใช้ระหว่างการเริ่มต้นเชลล์
- รันด้วยไฟล์เริ่มต้นเพียงไฟล์เดียว
ทุบตี -v
-v
ตัวเลือกที่จะทำให้การbash
พิมพ์แต่ละบรรทัดจากแฟ้มสคริปต์ทุกอ่านเป็นมันอ่านมัน
เริ่มต้นด้วยการวิ่ง
bash -i -v >bash-i.out 2>&1
รอประมาณ 5-10 Ctrl+Cวินาทีแล้วกด
สิ่งนี้จะทำให้คุณมีไฟล์เดียวที่เรียกbash-i.out
ว่าเป็นเหมือนไฟล์เริ่มต้นทั้งหมดของคุณที่ผสาน (หรือตัดแบ่ง) เข้าด้วยกัน
จากนั้นใช้ในการเปิดไฟล์และค้นหานามแฝงใช้less
/aliasname
ตอนนี้เปรียบเทียบว่านามแฝงปรากฏที่เกี่ยวข้องกับบรรทัดอื่น ๆ ในไฟล์ได้อย่างไร ตัวอย่างเช่นในระบบส่วนใหญ่/etc/bash.bashrc
มีความคิดเห็นที่ด้านบนที่ระบุว่า/etc/bash.bashrc
และ~/.bashrc
มีหนึ่งด้วย
หากอยู่เหนือส่วนบนของคุณ~/.bashrc
อาจเป็นไฟล์เริ่มต้น/etc
ที่กำหนดนามแฝงไม่เช่นนั้นจะอยู่ใน~/.bashrc
ไฟล์ของคุณหรือไฟล์ซึ่งรวมถึงผ่านsource
หรือ.
(คำสั่ง dot)
หากไม่แสดงนามแฝงลอง
bash -l -v >bash-l.out 2>&1
ที่บอกทุบตีจะเป็นเปลือกเข้าสู่ระบบซึ่งอ่านแฟ้มเริ่มต้นบางอย่างที่แตกต่างกันเช่น/etc/profile
และ~/.bash_profile
แทนและ/etc/bash.bashrc
~/.bashrc
ทุบตี -x
หากbash -v
ไม่ได้ให้คำตอบที่ชัดเจนให้ลองเรียกใช้bash -x
ซึ่งพิมพ์คำสั่งที่เชลล์ใช้อยู่แทนที่จะเป็นบรรทัดที่เชลล์อ่านอยู่
วิธีการคือพื้นเช่นเดียวกับข้างต้นยกเว้นการเปลี่ยนแปลงไป-v
-x
(คุณสามารถใช้ทั้งสองอย่างพร้อมกันหากจำเป็น)
เรียกใช้ด้วยไฟล์เริ่มต้นเพียงไฟล์เดียว
bash -i --rcfile="$HOME/.bashrc"
และดูว่าคุณมีนามแฝง
ลองเหมือนกันกับการrcfile
ตั้งค่า/etc/bash.bashrc
หากระบบของคุณมี
จากนั้นลอง
bash -l --rcfile="$HOME/.bash_profile"
และทำเช่นเดียวกันกับทุกไฟล์ทุบตีเริ่มต้นที่มีprofile
ในชื่อของมันเช่นการเปลี่ยนแปลงไป$HOME/.bash_profile
/etc/profile
วิธีใดที่ทำให้นามแฝงปรากฏขึ้นจะบอกไฟล์ที่คุณควรเริ่มต้นดู
set -x
ตามคำแนะนำที่ด้านบนของคุณและดูว่ามันแคบลงสำหรับคุณ