Buộc một đường dẫn tuyệt đối nơi dự kiến ​​một đường dẫn tương đối


1

Tôi có một chương trình lấy một đường dẫn tương đối khi đầu vào nối nó với một chuỗi đường dẫn để có được đường dẫn thực tế.

Bây giờ tất cả tôi có thể nhập là đường dẫn tương đối. Vì vậy, nếu tôi muốn đi một cấp trên đầu vào của tôi sẽ được ../mypath.

Nếu tôi biết độ sâu của đường dẫn được sử dụng trong nội bộ, tôi có thể sử dụng ..nhiều lần để vào thư mục gốc và sau đó đưa ra đường dẫn tuyệt đối. Nhưng giả sử tôi không biết độ sâu của thư mục, tôi có thể xây dựng một chuỗi đường dẫn tương đối sao cho nó coi nó là một đường dẫn tương đối. Một cách có thể là có đủ ..trong chuỗi đường dẫn để tôi có thể buộc một đường dẫn tuyệt đối cho một số độ sâu tối đa của đường dẫn.

Có một số cú pháp chuỗi đường dẫn mà tôi không biết nhưng có thể đạt được điều này?

Câu trả lời:


1

Có lẽ một cái gì đó như thế này:

s="."; until [[ $(readlink -e $s) == / ]]; do s+=/..; done; echo "$s"; ls -l "$s"

0

Nếu chương trình luôn mặc định ở cùng một vị trí, chỉ cần tạo một liên kết tượng trưng trong thư mục đó để / và sử dụng nó.

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.