Hallo zusammen,
ich möchte eine bat-Datei in einer Shell-Datei für Linux umschreiben.
In meiner Bat-Datei bekomme ich mit %~dp0 das Verzeichnis der bat-Datei heraus.
Mit welchem Shell-Befehl bekomme ich das Gleiche in Linux?
Nutze doch einfach statt absolute Pfade relative. Das lässt sich unter Linux mit
./
erreichen. Ansonsten schau mal auf Bash - LinuxWiki.org dort steht unter bei Tipps & Tricks
Tipps & Tricks
...
- Den aktuellen Pfad eines Scriptes bekommt man mit:
DIR=$(cd $(dirname $0) 2>/dev/null && pwd)
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Hallo,
dirname /tmp/test.txt
ergibt: /tmp
Im Shell Script kannst Du also z.B. das machen:
FPATH=`dirname /tmp/test.txt`
damit hast du dann den Pfad in der Variable FPATH drinnen.
Grüsse,
Egon
egrath's Blog: http://egonrath.eg.funpic.de/wordpress
Nutze doch einfach statt absolute Pfade relative. Das lässt sich unter Linux mit
./
erreichen. Ansonsten schau mal auf
> dort steht unter bei Tipps & TricksTipps & Tricks ... - Den aktuellen Pfad eines Scriptes bekommt man mit: DIR=$(cd $(dirname $0) 2>/dev/null && pwd)
Danke für den Link. 👍
Funktioniert prima.
Es gibt doch noch ein Problem:
DIR=$(cd $(dirname $0) 2>/dev/null && pwd) geht nicht immer.
"Access denied" wegen /dev/null
Was kann ich da machen?
Einfach /dev/null mit chmod Rechte vergeben für dein Benutzer, bzw. den Benutzer der das Ausführt.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...