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.