Quel est le problème avec le code suivant?
name='$filename | cut -f1 -d'.''
Tel quel, j'obtiens la chaîne littérale $filename | cut -f1 -d'.', mais si je supprime les guillemets, je n'obtiens rien. Pendant ce temps, en tapant
"test.exe" | cut -f1 -d'.'
dans une coquille me donne la sortie que je veux, test. Je sais déjà qu'on lui $filenamea attribué la bonne valeur. Ce que je veux faire, c'est attribuer à une variable le nom de fichier sans l'extension.
basename "$filename" .exe. Sinon, les noms de fichiers avec des espaces seraient de mauvaises nouvelles.
basename $filename .exeferait la même chose. Cela suppose que vous sachiez toujours quelle extension vous souhaitez supprimer.