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 .exe
farebbe la stessa cosa. Ciò presuppone che tu sappia sempre quale estensione vuoi rimuovere.