Script Sh

Résolu
Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention   -  
Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je suis en S3 Informatique et je dois faire un exercice.
Voilà mon code :

#!/bin/sh
if [ $# -eq 0 ]; then
echo "Vous n'avez pas passé de paramètre !"
exit 0
fi
while [ $# -ne 0 ]; do
if [ -e $1 ]; then
echo "$1 existe"
else
echo "$1 n'existe pas"
fi
shift
done

Il a un problème c'est dû aux espaces des noms de fichier.

Quelqu'un pourrait-il m'aider à l'améliorer s'il vous plaît ? Merci


A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

Il a un problème c'est dû aux espaces des noms de fichier.
S'il y a problème c'est à la saisie des paramètres par l'utilisateur, qui doit de lui même mettre des quotes autour des noms comportant des espaces.

Le script en lui même n'a aucun moyen de prévenir les espaces dans les noms saisis.
0
Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention   49
 
Bonjour,

Vous parlez des " " ou de ' ' ? Car " " ça ne marche pas.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Peu importe, l'important c'est qu'elles soient quotées du moment où l'une d'entre elle comporte des espaces.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Par contre je viens aussi de me rendre compte qu'il manquait aussi des quotes dans ton "test" :

if [ -e "$1" ]; then 

Sans quoi cela provoque effectivement une erreur ;-(
0
Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention   49
 
Merci beaucoup ! Grâce à vous maintenant ça fonctionne =)
0