Wie können Sie auf den Basisdateinamen einer Datei zugreifen, die Sie in Bash beziehen?

Ich beziehe eine Datei in einem Bash-Terminal, die einige Umgebungsvariablen exportieren muss.

Beispiel:

source linux_x86.env

Die env-Datei sieht ungefähr so ​​aus:

export ARCH=/home/user/project/linux_x86

Ich habe eine Reihe verschiedener Architekturen zu kompilieren und möchte in der Lage sein, so etwas zu tun:

export ARCH=/home/user/project/`basename $0 .env`

woherbasename $0 .env würde mir den basename der env datei geben

bash linux_x86.env
linux_x86

Das obige wird funktionieren, ist ein Bash-Skript, scheint aber nicht zu funktionieren, wenn Sie die Datei als Quelle angeben.

Gibt es eine Möglichkeit, dasselbe Verhalten aus der Quelle zu erzielen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage