Linux Skript Dateinamen in Variable schreiben?
Ist es möglich den Dateinamen in eine Variable zu schreiben wenn das Skript ausgeführt wird?
Beispiel: Ich führe "test.sh" aus und dann soll in eine Variabel der aktuelle Dateiname geschrieben werden.
Falls ich dann die Datei umbenenne, das sich die Variable dann mit verändert.
2 Antworten
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Ja, das ist möglich. Eine Möglichkeit ist es, den Befehl
basename
zu verwenden, um den Dateinamen aus dem Pfad zu extrahieren und ihn in eine Variable zu schreiben. Zum Beispiel:
#!/bin/bash
# Den aktuellen Dateinamen extrahieren und in die Variable $FILENAME schreiben
FILENAME=$(basename "$0")
# Den Dateinamen ausgeben
echo "Der Dateiname ist: $FILENAME"
Wenn das Skript ausgeführt wird, wird der Dateiname ausgegeben. Wenn Sie die Datei umbenennen und das Skript erneut ausführen, wird der neue Dateiname ausgegeben.
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Nutzer, der sehr aktiv auf gutefrage ist
Der Name des aktuellen Scripts befindet sich in den meisten Shell Scripten schon in der Variablen $0
Woher ich das weiß:Berufserfahrung – Berufserfahrung