เอาท์พุท Realpath รวมถึงการป้อนข้อมูล


9

ฉันใช้realpathคำสั่ง แต่มันจะเพิ่มอินพุตดั้งเดิมที่ส่วนท้ายของเส้นทางเสมอ:

$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl

คุณกำลังขอไดเรกทอรีในไดเรกทอรีการทำงานปัจจุบันของคุณ ลองใช้สิ่งนี้แทน:realpath .
penguin359

คำตอบ:


17

คุณให้realpathเส้นทางสัมพัทธ์กับไฟล์ในไดเรกทอรีปัจจุบัน

ไฟล์ (ซึ่งอาจเป็นไดเรกทอรี) อาจมีหรือไม่มีอยู่ realpathไม่สนใจโดยค่าเริ่มต้น มันรายงานเส้นทางโดยไม่คำนึงว่าองค์ประกอบสุดท้ายของมันมีอยู่

หากคุณต้องการให้เส้นทางรายงานที่มีอยู่เท่านั้นใช้-eแฟล็ก:

zanna@toaster:~/playground$ realpath playground
/home/zanna/playground/playground
zanna@toaster:~/playground$ realpath ~/playground
/home/zanna/playground
zanna@toaster:~/playground$ realpath -e playground
realpath: playground: No such file or directory

12

นั่นเป็นเพราะคุณให้เส้นทางที่ไม่มีอยู่ดังนั้นจึงพิมพ์ไดเรกทอรีปัจจุบันและสิ่งที่คุณให้โดยสมมติว่าเป็นเส้นทาง โปรดทราบว่าหน้าคนระบุว่า:

พิมพ์ชื่อไฟล์ที่แน่นอนที่ได้รับการแก้ไข ทั้งหมดยกเว้นองค์ประกอบสุดท้ายจะต้องมีอยู่

ดังนั้นจึงช่วยให้การดำเนินการกับเป้าหมายที่ไม่มีอยู่ เพื่ออธิบายให้พิจารณาตัวอย่างเหล่านี้:

$ pwd
/home
$ ls
lost+found  terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir

หรือเพื่อทำซ้ำสิ่งที่คุณทำ:

$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon

5

ไม่มีก็เพียง แต่บอกคุณว่าเส้นทางไปยัง (อาจไม่มีอยู่จริง) ไฟล์yosefklอยู่ในไดเรกทอรีปัจจุบัน ( /homes/yosefkl) /homes/yosefkl/yosefklเป็น ลอง

realpath "$PWD"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.