Der übliche Weg, dies in Bash zu tun, ist die Verwendung von Parametererweiterungen. (Siehe die Bash-Manpage und suchen Sie nach „Parameter Expansion“.)
a=${1%.*}
Der %
gibt an, dass alles, was dem folgenden Muster entspricht (.*
) von rechts mit möglichst kurzer Übereinstimmung ist aus dem Parameter $1
zu löschen . In diesem Fall brauchen Sie keine doppelten Anführungszeichen (") um den Ausdruck.
Wenn Sie die Erweiterung kennen, können Sie basename
verwenden$ basename /home/jsmith/base.wiki .wiki
base