J'ai besoin de créer un fichier vide à l'aide d'un script shell. Le nom de fichier sera déterminé en examinant tous les fichiers d'un répertoire correspondant à un modèle, par exemple TEST.*
, et en ajoutant _END
pour que le nouveau fichier ressemble à TEST.2011_END
. Soit le répertoire courant $DIR
. Alors j'ai essayé :
for file in $DIR/TEST.*
do
touch $file_END
done
Cela donne une erreur. J'ai également essayé de remplacer touch $file_END
avec :
filename=$file_END
touch $filename
mais sans chance. Que dois-je faire ?
Réponse acceptée :
La syntaxe serait :
filename="${file}_END"
ou dans votre code
touch "${file}_END"
Le "
les guillemets ne sont pas nécessaires tant que $file
ne contient aucun espace ou caractère global.