รับเส้นทางของสคริปต์ปัจจุบันเมื่อดำเนินการผ่าน symlink
ฉันมียูทิลิตี้ที่ประกอบด้วยไดเรกทอรีคู่ที่มีสคริปต์ทุบตีและไฟล์สนับสนุนที่จะนำไปใช้กับเครื่องหลายเครื่องในไดเรกทอรีที่แตกต่างกันในแต่ละเครื่อง สคริปต์ต้องสามารถอ้างอิงพา ธ ที่สัมพันธ์กับตัวเองดังนั้นฉันจึงต้องสามารถรับพา ธ ไปยังไฟล์ที่ถูกเรียกใช้งานในปัจจุบัน ฉันรู้dirname $0สำนวนที่ใช้งานได้อย่างสมบูรณ์แบบเมื่อสคริปต์ของฉันถูกเรียกใช้โดยตรง น่าเสียดายที่มีความปรารถนาที่จะสามารถสร้างการเชื่อมโยงไปยังสคริปต์เหล่านี้จากไดเรกทอรีที่แตกต่างกันโดยสิ้นเชิงและยังคงมีการทำงานแบบลอจิกการทำเส้นทางแบบสัมพัทธ์ ตัวอย่างของโครงสร้าง driectory โดยรวมมีดังนี้: / |-usr/local/lib | |-foo | | |-bin | | | |-script.sh | | |-res | | | |-resource_file.txt |-home/mike/bin | |-link_to_script (symlink to /usr/local/lib/foo/bin/script.sh) ฉันจะอ้างอิงอย่างน่าเชื่อถือได้/usr/local/lib/foo/res/resource_file.txtจากscript.shว่ามันถูกเรียกโดย/usr/local/lib/foo/bin/script.shหรือ~mike/bin/link_to_script?