ubuntuusers.de

Bash-Script; Verzeichnis des Scripts ausgeben

Status: Gelöst | Ubuntu-Version: Server 10.04 (Lucid Lynx)
Antworten |

monateng

Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Hi Community,

wie kann ich mir das aktuelle Verzeichnis ausgeben lassen indem sich das Shell-Script befindet?
Der Aufruf des Shell-Scripts geschieht sowohl über:

sh ./script.sh
sh /Pfad/zum/Script/script.sh

In beiden Fällen möchte ich eine Korrekte Angabe des Pfades haben.


Gruß und Dank

monateng

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Hi monateng,

als Befehl gibt es dafür pwd und ansonsten steht es sowieso auch in der Variablen $PWD

Du kannst mehr dazu hier nachlesen: http://www.fedorawiki.de/index.php/Bash_Benutzerhandbuch_3.2_Start

LG,

track

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

Ich glaube eher, er möchte gerne die readlink-dirname-Geschichte haben. Ist aber halt schon spät, also keine Garantie für nix. 😉

1
2
3
4
5
6
7
8
#!/bin/bash

locationOfScript=$(dirname "$(readlink -e "$0")")
echo "$locationOfScript"

# Achtung, wenn ohne Zuweisung an eine Variable, dann
# außenrum auch Quotes (wegen Leerzeichen in Pfaden):
echo "$(dirname "$(readlink -e "$0")")"

monateng

(Themenstarter)
Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Danke track und Vain,

für die beiden schnellen Antworten. Ich habe mich für die Lösung von Vain entschieden, da ich damit in beiden Fällen die gleiche Ausgabe bekomme und das auch wenn sich Sonderzeichen in dem Ordnernamen befinden sollten.

PS:
Vain, deine Interpretation war korrekt und deine Skriptzeile funktioniert!


Dank und Gruß

monateng

Antworten |