2011-10-24 19 views

Respuesta

25

Quiere readlink -f.

$ cd /tmp 
$ readlink -f .. 
/
+0

Esta es la mejor respuesta para Linux. Pero en caso de que alguien se pregunte, 'readlink -f' no es compatible con OS X. Entonces puede usar' cd "$ (dirname" $ ​​{BASH_SOURCE [0]} ")" && pwd -P' – jwfearn

4

Uso realpath

$ realpath .. 
/home 
+1

Este comando no es ' enviado con las distribuciones de Linux por defecto – zoltanctoth

1

Si bien a menudo se puede obtener la ruta completa de un directorio utilizando stat, también se puede utilizar pwd -P ... sin embargo, no es de mucha ayuda a menos que realmente cd al directorio que le interesa.

Para evitar esta limitación sin cambiar realmente el directorio de trabajo actual, me ha resultado bien ejecutar ese cd en un sub-shell, como en:

THIS=`dirname $0`  # Which is often "." 
PARENT=$(
    cd $THIS   # At this point, we are sure we're in script's directory 
    dirname `pwd -P` 
) 
echo "PARENT=$PARENT" 
0

Cuando se utiliza en la línea cmd:

dirname $(pwd) 

Cuando se utiliza en escritura shell:

PROJ_DIR=$(dirname $(pwd)) 
Cuestiones relacionadas