Ich mache ein paar benutzerdefinierte Befehle auf meinem Debian-Server und setze sie in den Ordner/usr/bin.Wie bekomme ich das Verzeichnis von wo ich das Skript aufrufen, wenn das Skript selbst in einem anderen Verzeichnis ist?
Ein benutzerdefinierter Befehl, den ich machen möchte, beinhaltet das Abrufen des Verzeichnisses von wo ich das Skript aufrufen, NICHT das Verzeichnis, in dem sich das Skript befindet.
Fast alle der Fragen, die ich hier finden beinhalten das Arbeitsverzeichnis
a=$PWD
oder
a=$(pwd)
Dies liefert nur das Verzeichnis, in dem das Skript befindet sich mit bekommen.
Edit: Ich bin mir bewusst,
$OLDPWD
oben Der nur einen Teil der Zeit arbeiten.
Ist es möglich zu tun, was ich will?
Aktuelle Form mein Skript:
#!/bin/bash
if [ -z "$1" ]
then
a=$(pwd)
echo "Unlocking current directory."
sudo chmod 777 -R $a
else
echo "Unlocking directory at \"$1\""
sudo chmod 777 -R $1
fi
Möchten Sie wissen, in welchem Verzeichnis Ihr Skript gespeichert ist oder von welchem Verzeichnis Ihr Skript aufgerufen wird? – Cyrus
@Cyrus: Von welchem Verzeichnis wird mein Skript aufgerufen. – zachboy82