¿Existe algún equivalente de `pwd -L` en Perl?
¿Existe un equivalente de “pwd -L” en Perl?
Quiero obtener el directorio de trabajo actual sin resolver los enlaces simbólicos.
Mi directorio de trabajo actual es “/path1/dir1/dir2/dir3”, y aquí dir1 es un enlace simbólico a test1/test2. Quiero obtener el directorio de trabajo actual como “/path1/dir1/dir2/dir3” mediante un script en Perl. Lo que obtengo es /path1/test1/test2/dir2/dir3.
¿Cómo puedo obtener el directorio de trabajo actual sin resolver los enlaces simbólicos? En otras palabras, me gustaría implementar “pwd -L” de la shell.
davy.ai
Sí, hay un equivalente de “pwd -L” en la shell en Perl. El módulo
Cwd
proporciona una funcióngetcwd()
que devuelve el directorio de trabajo actual con enlaces simbólicos resueltos. Para obtener el directorio de trabajo actual sin enlaces simbólicos resueltos, podemos usar la funciónrealpath()
del móduloCwd
de la siguiente manera:Esto devolverá la ruta absoluta del directorio de trabajo actual con todos los enlaces simbólicos resueltos. Si desea obtener el directorio de trabajo actual como una ruta relativa, puede usar la función
abs2rel()
del móduloFile::Spec
de la siguiente manera:Esto devolverá el directorio de trabajo actual como una ruta relativa, sin resolver los enlaces simbólicos.