Cosa c'è di sbagliato nel seguente codice?
name='$filename | cut -f1 -d'.''
Come è, ottengo la stringa letterale $filename | cut -f1 -d'.', ma se rimuovo le virgolette non ottengo nulla. Nel frattempo, digitando
"test.exe" | cut -f1 -d'.'
in un guscio mi dà l'uscita che voglio, test. So già che $filenameè stato assegnato il valore giusto. Quello che voglio fare è assegnare a una variabile il nome del file senza l'estensione.
basename "$filename" .exe. Altrimenti i nomi di file con spazi sarebbero cattive notizie.
basename $filename .exefarebbe la stessa cosa. Ciò presuppone che tu sappia sempre quale estensione vuoi rimuovere.