Ich versuche, mein erstes Bash-Skript zu korrigieren, und irgendwann wird ein Dateiname an das Skript als übergeben $1
. Ich muss den Dateinamen ohne die Erweiterung extrahieren.
Derzeit gehe ich davon aus, dass alle Erweiterungen aus drei Buchstaben bestehen. Daher entferne ich die letzten 4 Zeichen, um den Dateinamen zu erhalten:
a="${1:0:-4}"
Aber ich muss in der Lage sein, mit Erweiterungen zu arbeiten, die mehr als drei Zeichen haben, wie %~n1
in Windows.
Gibt es eine Möglichkeit, den Dateinamen ohne die Erweiterung aus den Argumenten zu extrahieren?