Was ist los mit dem folgenden Code?
name='$filename | cut -f1 -d'.''
So wie es ist, bekomme ich die Literalzeichenfolge $filename | cut -f1 -d'.'
, aber wenn ich die Anführungszeichen entferne, bekomme ich nichts. In der Zwischenzeit tippen
"test.exe" | cut -f1 -d'.'
in einer Shell gibt mir die Ausgabe, die ich will , test
. Ich weiß bereits, dass $filename
der richtige Wert zugewiesen wurde. Ich möchte einer Variablen den Dateinamen ohne die Erweiterung zuweisen.
basename "$filename" .exe
. Andernfalls wären Dateinamen mit Leerzeichen eine schlechte Nachricht.
basename $filename .exe
würde das gleiche tun. Vorausgesetzt, Sie wissen immer, welche Erweiterung Sie entfernen möchten.