Wiemy, że katalog główny to /, a według posixa istnieje inny katalog //, który różni się od /. Kiedy ls/i ls //, dane wyjściowe są takie same, tak jak stat, jednak jeśli używasz cd/i cd //, są różne, chociaż zawartość katalogu jest taka sama. To naprawdę mnie zdezorientowało. Czy ktoś ma odpowiedź?czym jest ścieżka //, czym różni się od/
10
A
Odpowiedz
18
Od Bash FAQ:
E10) Why does `cd //' leave $PWD as `//'?
POSIX.2, in its description of `cd', says that *three* or more leading
slashes may be replaced with a single slash when canonicalizing the
current working directory.
This is, I presume, for historical compatibility. Certain versions of
Unix, and early network file systems, used paths of the form
//hostname/path to access `path' on server `hostname'.
+0
Na mojej emulacji bitu git (technicznie maszyna Windows) próba' ls -l // 'powoduje, że maszyna próbuje odczytać i wyświetlić całą dostępną sieć ... wow. –
można podać odnośnik, który mówi, że jest inaczej? Co masz na myśli, jeśli "cd /" kontra "cd //" są różne - skąd wiesz? –
@ MarkkuK. Niestety nie powiedziałem tego wyraźnie, oznacza to, że pwd się nie zmieniło. Tak jak powiedział devnull. Możesz tego spróbować. – dspjm
Dodatkowo, jeśli wpiszesz "cd // usr" (na przykład) zamiast "cd/usr", skończysz w "/ usr", bash mówi, że jesteś un "// usr", a pwd to "// usr "too ... – Tom