Wie kann ich entfernen Sie die Erweiterung des Dateinamens in ein shell-Skript?

Was ist falsch mit dem folgenden code?

name='$filename | cut -f1 -d'.''

Da ist, bekomme ich die Zeichenkette $filename | cut -f1 -d'.', aber wenn ich entfernen Sie die Zitate, die ich bekomme gar nichts. Mittlerweile Typisierung

"test.exe" | cut -f1 -d'.'

in einer shell gibt mir den output, den ich will, test. Ich weiß schon $filename zugewiesen wurde der richtige Wert. Was ich will zu tun ist, weisen Sie einer Variablen den Dateinamen ohne die Erweiterung.

  • basename $filename .exe würde das gleiche tun. Das ist vorausgesetzt, Sie wissen immer, was die Erweiterung, die Sie entfernen möchten.
  • du meinst basename "$filename" .exe. Ansonsten Dateinamen mit Leerzeichen wäre eine schlechte Nachricht.
Schreibe einen Kommentar