Testé avec Mandrake 8.0/SuSE 7.2Vous avez créé des noms de fichiers contenant des espaces, mais lorsque vous essayez de leur appliquer des traitements via des scripts, vous obtenez des messages d’erreur. En effet, le système considère les espaces comme des séparateurs pour les options des commandes. Il existe néanmoins une astuce pour échapper à ces messages d’erreur : les guillemets. Pour vous en convaincre, créez le fichier mon fichier à l’aide de la commande touch ~/”mon fichier”. Ajoutez le répertoire dirtest à votre répertoire utilisateur en entrant mkdir ~/dirtest. Puis, tapez la commande for file in ~/mo*; do cp $file ~/dirtest/; done. Elle copie tous les fichiers dont le nom commence par mo dans le dossier ~/dirtest/. Le message cp: cannot stat `mon’: Aucun fichier ou répertoire de ce type s’affiche alors. En revanche, si vous saisissez for file in ~/mo*; do cp “$file” ~/dirtest/; done, le fichier mon fichier sera copié dans ~/dirtest/.Exemple dutilisation des guillemets
fred@serveur2:~ > touch “mon fichier”
fred@serveur2:~ > ls mo*
mon fichier
fred@serveur2:~ > rm -f dirtest/*
fred@serveur2:~ > ls dirtest/
fred@serveur2:~ > for file in ~/mo*; do cp “$file” ~/dirtest/; done
fred@serveur2:~ > ls dirtest/
mon fichier
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.