2009-11-30 3 views

Antwort

17

Welche Shell? Welches Betriebssystem?

Für den Anfang versuchen

man pwd 
$PWD 
+0

scheint zu arbeiten, danke – goe

+0

Und wenn Sie wollen nur den Namen des Verzeichnisses, anstatt den vollständigen Pfad, lesen Sie auch Mann Basisname. –

3

Dies ist nicht so trivial, wie es aussieht. Schauen Sie sich this question und this

+0

Die Frage betrifft das Ermitteln des Skriptausführungsverzeichnisses, aber Ihre Antwort dient zum Ermitteln des Namens/Verzeichnisses der Skriptdatei. –

+0

@Mat in der Tat! Muss damals falsch verstanden haben. Löschen. –

0

alternative Methode

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

Dies, glaube ich, ist die tragbare Art und Weise:

dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) 
Verwandte Themen