ฉันเพียงรู้ของสองวิธีและalias foo=barfunction foo() { bar }
เหตุผลที่ฉันถามคือ - ทั้งหมดในเซสชัน bash ของฉัน - ฉันไม่สามารถเรียกใช้lnคำสั่งได้เนื่องจากbashมีข้อผิดพลาด-bash: /usr/local/.../ln: No such file or directory(ซึ่ง/usr/local/.../เป็นหนึ่งในรายการในPATHตัวแปรสภาพแวดล้อมของฉัน)
มันไม่ใช่PATHปัญหาเพราะถ้าฉันเรียกใช้which lnมันจะเอาท์พุทไบนารีที่คาดหวังของ/usr/bin/ln(ซึ่งฉันสามารถทำงานได้ดีถ้าฉันระบุเส้นทางที่แน่นอน)
ฉันยังตรวจสอบlnในของฉันaliasและfunctionประกาศและไม่มีอะไร:
$ declare -f | grep ln
$ alias | grep ln
ปัญหากำลังเกิดขึ้นในเซสชัน bash เดียว ถ้าฉันเริ่มเชลล์ใหม่มันจะทำงานได้ดีอีกครั้ง แต่ฉันอยากรู้ว่าอะไรทำให้เกิดปัญหานี้ในทันทีในเซสชั่นของการทุบตีนี้
ความคิดใด ๆ เกี่ยวกับสิ่งที่อาจทำให้เกิดสิ่งนี้
type lnฉันได้รับln is hashed (/usr/local/.../ln)ซึ่งดูเหมือนจะเป็นปัญหา แต่มันหมายความว่าอะไร "hashed"? ฉันไม่เคยได้ยินเกี่ยวกับคุณสมบัตินั้นในการทุบตี