Acabo de encontrar la siguiente pregunta en Unix Programming Environment , el libro clásico de Kernighan y Pike sobre Unix (encontré el texto a continuación en la p. 79 de la edición del año 1984, ISBN: 0-13-937699-2):
Ejercicio 3-6. (Pregunta capciosa) ¿Cómo se obtiene un / en un nombre de archivo (es decir, un / que no separa los componentes de la ruta?
He estado trabajando con Linux durante años, tanto como usuario final como programador, pero no puedo responder a esta pregunta. No hay forma de poner barras en los nombres de archivo, está absolutamente prohibido por el núcleo. Puede parchear su sistema de archivos a través del bloqueo del acceso al dispositivo o usar caracteres de aspecto similar de Unicode, pero esas no son soluciones.
Entiendo que Linux ≠ Unix, pero el mismo principio debería aplicarse, ya que el sistema debe poder extraer sin ambigüedad la jerarquía de directorios de las rutas.
¿Alguien sabe qué pensaron exactamente Kernighan y Pike al hacer estas preguntas? ¿Cuál fue la supuesta respuesta? ¿Qué es exactamente el "truco"? ¿O tal vez el sistema original de Unix simplemente permitió escapar de esta barra de alguna manera?
UPD:
Me puse en contacto con Brian Kernighan sobre la pregunta y eso fue lo que respondió:
La respuesta es (o fue) "No puedes".
Por lo tanto, Timothy Martin tenía razón y obtiene la marca verde.
a
y obligar a su sistema a pensar que el sistema de archivos está en un entorno EBCDIC? ASCII a
es 0x61, que corresponde a /
EBCDIC (página de códigos 37)