Ho bisogno di creare un file vuoto usando uno script di shell. Il nome del file verrà determinato esaminando tutti i file in una directory che corrispondono a un modello, ad esempio TEST.* e aggiungendo _END in modo che il nuovo file assomigli a TEST.2011_END . Lascia che la directory corrente sia $DIR . Quindi ho provato:
for file in $DIR/TEST.*
do
touch $file_END
done
Questo dà un errore. Ho anche provato a sostituire touch $file_END con:
filename=$file_END
touch $filename
ma senza fortuna. Cosa devo fare?
Risposta accettata:
La sintassi sarebbe:
filename="${file}_END"
o nel tuo codice
touch "${file}_END"
Il " le virgolette non sono necessarie finché $file non contiene spazi bianchi o caratteri glob.