Đầu ra Realpath bao gồm đầu vào


9

Tôi sử dụng realpathlệnh, nhưng nó luôn thêm đầu vào ban đầu ở cuối đường dẫn:

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

Bạn đang yêu cầu một thư mục bên trong thư mục làm việc hiện tại của bạn. Thay vào đó, hãy thử điều này:realpath .
penguin359

Câu trả lời:


17

Bạn đã đưa ra realpathmột đường dẫn tương đối, đến một tệp trong thư mục hiện tại.

Các tập tin (có thể là một thư mục) có thể hoặc không tồn tại. realpathkhông quan tâm theo mặc định. Nó báo cáo đường dẫn bất kể yếu tố cuối cùng của nó có tồn tại hay không.

Nếu bạn muốn nó chỉ báo cáo các đường dẫn tồn tại, hãy sử dụng -ecờ:

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

Đó là bởi vì bạn đang cho nó một đường dẫn không tồn tại, vì vậy nó chỉ cần in ra thư mục hiện tại và bất cứ thứ gì bạn đưa ra, giả sử đó sẽ là đường dẫn. Lưu ý rằng trang man chỉ định rằng:

In tên tập tin tuyệt đối được giải quyết; tất cả trừ thành phần cuối cùng phải tồn tại

Vì vậy, nó cho phép thực hiện với một mục tiêu không tồn tại. Để minh họa, hãy xem xét các ví dụ sau:

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

Hoặc, để sao chép những gì bạn đã làm:

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

5

Không, nó chỉ cho bạn biết rằng đường dẫn đến tệp (có thể không tồn tại) yosefklnằm trong thư mục hiện tại ( /homes/yosefkl) là /homes/yosefkl/yosefkl. Thử

realpath "$PWD"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.