dirnamees un comando de shell para extraer la parte de la ruta del directorio de una ruta , sin el apellido. El comando está especificado en la Especificación Única de UNIX y se utiliza principalmente en scripts de shell .
La versión en GNU Core Utilities fue escrita por David MacKenzie y Jim Meyering. [ 1 ] El comando está disponible para Windows como parte del proyecto GnuWin32 [ 2 ] y UnxUtils [ 3 ] y está en IBM i . [ 4 ]
Uso
La especificación única de UNIX es: dirname path. El argumento requerido, path, es una cadena de ruta de archivo.
Ejemplos
El comando informa la parte de la ruta del directorio que corresponde a una ruta, ignorando cualquier barra diagonal final.
$ dirname /ruta/al/archivo.ext /ruta/al/archivo$ dirname /ruta/a/ /ruta$ dirname filename.ext .Actuación
Dado que el comando solo acepta un operando, su uso dentro del bucle interno de un script de shell puede ser perjudicial para el rendimiento. Considere lo siguiente:
mientras se lee el archivo ; hacer dirname " $file " hecho < alguna entrada Lo anterior provoca una invocación de proceso independiente para cada línea de entrada. Por esta razón, normalmente se utiliza la sustitución de shell:
echo " ${ archivo %/* } " ;O bien, si también es necesario gestionar las rutas relativas:
if [ -n " ${ file ##*/* } " ] ; then echo "." else echo " ${ file %/* } " ; fiTenga en cuenta que estos manejan las barras diagonales finales de manera diferente a dirname.
Véase también
- basename – Comando de shell para extraer el apellido de una ruta
- Lista de comandos POSIX
Referencias
- ↑ – Manual de usuario de Linux – Comandos de usuario
- ↑ "CoreUtils para Windows" . Archivado del original el 30/07/2025 . Consultado el 03/02/2026 .
- ↑ "Adaptaciones nativas para Win32 de algunas utilidades GNU" . Archivado del original el 9 de febrero de 2006. Consultado el 23 de febrero de 2022 .
- ↑ IBM . "IBM System i Versión 7.2 Programación Qshell" (PDF) . IBM . Archivado (PDF) del original el 18-09-2020 . Recuperado el 05-09-2020 .
Enlaces externos
- : devuelve la parte del directorio de una ruta de acceso – Referencia de Shell y utilidades, Especificación única de UNIX , versión 5 de The Open Group
- – Manual de comandos de usuario de Linux
- – Manual de comandos generales de OpenBSD
- Programas estándar de Unix
- Utilidades Unix SUS2008
- Comandos de Qshell para IBM i