1
ค้นหาว่าสคริปต์ใดที่ถูกเรียกใช้โดยการทุบตีเมื่อเริ่มต้น
หลังจากเริ่มต้น bash terminal ฉันสังเกตเห็นว่าตัวแปร PATH มีรายการที่ซ้ำกัน ขั้วของฉันเริ่มต้นเปลือกเข้าสู่ระบบเพื่อให้~/.bash_profileมีที่มาตามด้วยและ~/.profile ~/.bashrcใน~/.profileฉันจะสร้างรายการเส้นทางที่ซ้ำกัน นี่คือลำดับที่ไฟล์ที่ควรจะมีแหล่งที่มาจะถูกแหล่งที่มา: Sourced /etc/profile Sourced /etc/bash.bashrc Sourced .bash_profile Sourced .profile Sourced .bashrc ก่อนที่ทุกคนจะทำเครื่องหมายสิ่งนี้ว่าเป็น "สำเนาของตัวแปร PATH ที่มีรายการซ้ำ" โปรดอ่านต่อไป ตอนแรกฉันคิดว่าสิ่งนี้เกี่ยวข้องกับ~/.profileการจัดหาแหล่งข้อมูลสองครั้งดังนั้นฉันจึงเขียนไฟล์ลงในไฟล์บันทึกเมื่อใดก็ตามที่มีแหล่งที่มาและน่าประหลาดใจที่มีการบันทึกเพียงหนึ่งรายการ ยิ่งน่าแปลกใจคือความจริงที่ว่าเมื่อผมแสดงความคิดเห็นออกรายการที่อยู่ใน~/.profileรายการยังคงปรากฏในPATHตัวแปร สิ่งนี้ทำให้ฉันมีข้อสรุปสามประการซึ่งหนึ่งในนั้นถูกตัดออกอย่างรวดเร็ว: Bash ละเว้นความคิดเห็น bash ที่ถูกต้องและยังคงดำเนินการรหัสความคิดเห็น มีสคริปต์ที่อ่าน~/.profileและไม่สนใจรหัสใด ๆ ที่พิมพ์เอาต์พุต (ตัวอย่างเช่นล็อกไฟล์) มีอีกฉบับหนึ่งของฉัน~/.profileที่กำลังถูกหาที่อื่น อันแรกฉันสรุปได้อย่างรวดเร็วว่าไม่ใช่เพราะการทดสอบที่รวดเร็ว ตัวเลือกที่สองและสามเป็นสิ่งที่ฉันต้องการความช่วยเหลือ ฉันจะรวบรวมบันทึกสคริปต์ที่ดำเนินการได้อย่างไรเมื่อเทอร์มินัลเริ่มทำงาน ฉันใช้echoในไฟล์ที่ฉันตรวจสอบเพื่อทราบว่าไฟล์เหล่านั้นมาจากการทุบตีหรือไม่ แต่ฉันต้องหาวิธีการสรุปที่ติดตามการดำเนินการถึงจุดเมื่อเทอร์มินัลพร้อมให้ฉันเริ่มพิมพ์มัน ถ้าข้างต้นเป็นไปไม่ได้แล้วทุกคนสามารถแนะนำที่อื่นฉันสามารถมองเพื่อดูว่าสคริปต์จะถูกเรียกใช้ การอ้างอิงในอนาคต นี่คือสคริปต์ที่ฉันใช้ในการเพิ่มเส้นทางของฉัน: function add_to_path() { for path in …