2009-11-30 19 views

Respuesta

17

¿qué shell? ¿Qué sistema operativo?

Para empezar a tratar

man pwd 
$PWD 
+0

parece funcionar gracias a – goe

+0

Y si solo desea el nombre del directorio, en lugar de la ruta completa, lea también el nombre base del hombre. –

3

Esto no es tan trivial como parece. Salida this question y this

+0

La pregunta es sobre determinar el directorio de ejecución del script, pero su respuesta es para determinar el nombre/directorio del archivo del script. –

+0

@Mat de hecho! Debe haber entendido mal en ese momento. Eliminando –

0

método alternativo

pid=$$ 
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}') 
case "$path" in 
    ./*) pwd;; 
    *) echo $path;; 
esac 
15

Esto, creo, es la forma más portátil:

dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) 
Cuestiones relacionadas