Điều gì gây ra dấu gạch chéo kép trong Linux?


9

Tôi đang cài đặt TCE và thấy dấu gạch chéo kép ( //) trong đường dẫn cài đặt. Tại sao họ ở đó?

 100% - /usr/local/games/enemy-territory//tcetest/ReadMe.rtf
 100% - /usr/local/games/enemy-territory//tcetest/changelog.rtf
 100% - /usr/local/games/enemy-territory//tcetest/ui.mp.i386.so
 100% - /usr/local/games/enemy-territory//tcetest/qagame.mp.i386.so
 100% - /usr/local/games/enemy-territory//tcetest/pak3.pk3
 100% - /usr/local/games/enemy-territory//tcetest/pak2.pk3

Câu trả lời:


9

Điều này xảy ra rất thường xuyên và nó vô hại. Dấu gạch chéo kép được hiểu như dấu gạch chéo đơn giản.

(xem man path_resolutionđể hiểu quá trình giải quyết đường dẫn)


Bạn có thể gửi bất kỳ bài viết mà tôi có thể kiểm tra nó?
kravemir

Tôi đã chỉnh sửa bài viết của mình. Vấn đề với dấu gạch chéo kép không được đề cập rõ ràng trong trang man, nhưng bạn có thể suy ra câu trả lời.
Stéphane Gimenez

1
Vì vậy, câu hỏi thực tế còn lại: tại sao họ ở đó? :)
slhck

đơn giản: lập trình. Nó là tốt hơn để có nó hơn là không và bạn luôn chạy nó thông qua một số loại "path.n normalize ()" trong lang / công cụ bạn chọn. :)
bss

13

Nó chỉ đơn giản là kết quả của các đường dẫn nối như các chuỗi văn bản thông thường.

Ví dụ: nếu bạn chỉ định thư mục đích bao gồm dấu gạch chéo kết thúc ...

tạo DESTDIR = / usr / local / games / kẻ thù-lãnh thổ / cài đặt

... Và trình cài đặt sử dụng nó như thế này:

$ (DESTDIR) /tcetest/pak3.pk3

Khi dòng trên được mở rộng, $(DESTDIR)đơn giản sẽ được thay thế bằng nội dung chính xác của biến, dẫn đến:

/ usr / local / games / kẻ thù-lãnh thổ / /tcetest/pak3.pk3

Như Stéphane đã đề cập trong câu trả lời của họ, có hai dấu gạch chéo trong một đường dẫn là hoàn toàn vô hại, đó là lý do tại sao hầu hết các tập lệnh cài đặt không bận tâm đến việc loại bỏ chúng.

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.