ในสคริปต์ฉันได้รับใน$0
เส้นทางญาติที่เป็นไปได้ สำหรับการแปลงให้เป็นสัมบูรณ์ฉันได้พบโซลูชันนี้ซึ่งฉันไม่เข้าใจ:
abspath=$(cd ${0%/*} && echo $PWD/${0##*/})
ปัญหาของฉันคือภายในมหัศจรรย์ของและ${0%/*}
${0##*/}
ดูเหมือนว่าก่อนหน้านี้จะแยก dirname และหลังจะแยกชื่อไฟล์ฉันไม่เข้าใจเลย
dirname
ประโยชน์มีประโยชน์ที่นี่
BASH_SOURCE
จะดีกว่า$0
ในขณะที่$0
ช่วยให้ผู้ใช้พิมพ์ลงในคำสั่งซึ่งไม่อาจจะเป็นสคริปต์ในขณะนี้การดำเนินการ
readlink -f $0
เพื่อรับพา ธ แบบบัญญัติ