ถ้าฉันเรียกใช้คำสั่งนี้find $HOME/MySymlinkedPath -name "run*.sh"
ไม่มีอะไรเกิดขึ้นและไม่มีข้อผิดพลาด ('MySymlinkedPath' เป็นเส้นทาง symlinked ไปยังฮาร์ดไดรฟ์อื่น ๆ แล้ว $ HOME ของฉัน)
สิ่งเหล่านี้ล้มเหลว:
find ~/MySymlinkedPath -name "run*.sh"
find /home/MyUserName/MySymlinkedPath -name "run*.sh"
และเพื่อให้แน่ใจว่าเส้นทางที่ไม่มีอยู่นี้ล้มเหลว (แน่นอน) find $HOME/MySymlinkedPathDUMMYTEST -name "run*.sh"
ดังนั้นจึงมีการค้นพบเส้นทาง (เพราะข้อผิดพลาดนั้นไม่ได้เกิดขึ้น) แต่find
ไม่ได้ทำการค้นหาบนเส้นทางนี้
ใช้งานได้เฉพาะถ้าฉันcd $HOME/MySymlinkedPath
ก่อนและลบการอ้างอิงเส้นทางเช่นนี้find -name "run*.sh"
แต่นั่นไม่ดีสำหรับสคริปต์ของฉัน
ข้อมูลเพิ่มเติม :
คำสั่งนี้ใช้งานได้ตามปกติls $HOME/MySymlinkedPath/run*.sh
และถ้าฉันไปที่นั่นcd $HOME/MySymlinkedPath
และรันสิ่งนี้ls ..
ผลลัพธ์ไม่ใช่สิ่งที่ฉันคาดหวัง - รายการของเส้นทางที่เส้นทาง symlinked ตั้งอยู่ - จะส่งกลับรายการเส้นทางที่แท้จริงของ สื่ออื่น / ฮาร์ดไดรฟ์ !!!
pwd -P
/media/MediaIdentifier/RealPath
pwd
/home/MyUser/MySymlinkedPath
คิดใหม่ :
นี่เป็นปัญหากับfind
และls
หรือกับระบบของฉันหรือไม่ หรือเป็นที่คาดหวังและไม่มีปัญหาเลย? ฉันใช้ Ubuntu 12.10 มันล้มเหลวในเทอร์มินัลทั้งหมดที่ฉันทดสอบดังนั้นจึงดูเหมือนว่า "ปัญหา" มินัลไม่ได้