Estoy escribiendo una biblioteca para manipular cadenas de ruta Unix. Siendo ese el caso, necesito entender algunos rincones oscuros de la sintaxis de los que la mayoría de la gente no se preocuparía.
Por ejemplo, lo mejor que puedo decir, parece que foo/bar
y foo//bar
ambos apuntan al mismo lugar.
Además, ~
generalmente representa el directorio de inicio del usuario, pero ¿qué pasa si aparece en el medio de una ruta? ¿Qué pasa entonces?
Estas y varias docenas de otras preguntas oscuras necesitan respuesta si voy a escribir código que maneje todos los casos posibles correctamente. ¿Alguien sabe de una referencia definitiva que explique las reglas de sintaxis exactas para estas cosas?
(Desafortunadamente, la búsqueda de términos como "sintaxis de ruta de Unix" solo muestra un millón de páginas que discuten la $PATH
variable ... ¡Diablos, incluso estoy luchando por encontrar etiquetas adecuadas para esta pregunta!)
~
) se trata en Cómo Linux maneja los separadores de múltiples rutas (/ home //// nombre de usuario /// archivo) . Lo más parecido a una referencia normativa sería la especificación POSIX o Single Unix , no es una lectura fácil.