Piszę bibliotekę do manipulowania łańcuchami ścieżek uniksowych. W związku z tym muszę zrozumieć kilka niejasnych zakątków składni, o które większość ludzi by się nie martwiła.
Na przykład, jak najlepiej mogę powiedzieć, wydaje się, że foo/bar
i foo//bar
zarówno punkt do tego samego miejsca.
Ponadto, ~
zazwyczaj oznacza katalogu domowym użytkownika, ale co zrobić, jeśli pojawi się on na środku ścieżki? Co się wtedy stanie?
Na te i kilkadziesiąt innych niejasnych pytań trzeba odpowiedzieć, jeśli mam napisać kod, który poprawnie obsługuje każdą możliwą sprawę. Czy ktoś wie o definitywnym odwołaniu, które wyjaśnia dokładne reguły składniowe dla tych rzeczy?
(Niestety, wyszukiwanie terminów takich jak „Składnia ścieżki uniksowej” po prostu pokazuje milion stron omawiających $PATH
zmienną ... Cholera, nawet staram się znaleźć odpowiednie tagi dla tego pytania!)
~
) jest opisana w Jak Linux obsługuje wiele separatorów ścieżek (plik / home //// nazwa użytkownika ///) . Najbliżej normy jest odniesienie do specyfikacji POSIX lub Single Unix - niełatwy odczyt.