IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[bash] Tester l'existence d'un dossier avec espace


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Par défaut [bash] Tester l'existence d'un dossier avec espace
    bonjour à tous,
    je suis débutant en linux, mais dans un bash je cherche a savoir si un dossier existe par un if mais cela ne fonctionne pas
    je dois faire une erreur quelque part
    voici mon code si quelqu'un pouvais venir a mon secours, je seche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    OLDIFS=$IFS
    IFS=$'\n'
     
    for reseau in "a.b.c.d"
       do
           dom=`nmblookup -A $reseau |grep '<20>'|cut -d\  -f 1 |tr -d '\t' `
           dom=${dom##*(tab)}
           cobian="/Program\ Files\ \(x86\)/Cobian\ Backup\ 11/save"
           pass="xxx"
           use="utilisateur"
           mount -t cifs //200.$reseau/C\$ /mnt/test  -o username=administrateur,password="$pass",domain="$dom"
           if [ -n ""`mount |grep /mnt/test`"" ]
           then
              if  [ -e /mnt/test$cobian ];
              then
                  echo "dossier ok"
              else
                  echo "dossier $rep KOOO "
              fi
              umount -l /mnt/test
           fi
       done
    IFS=$OLDIFS
    pour info: j’accède bien au fichier car en faisant à la place du test dossier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    files=/mnt/test"$cobian"/*
                    for file in $files
                    do
                       echo "fichier $file"
                    done
    j'ai bien ma liste de fichiers

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    Bonjour,

    d'un côté, il y a trop de guillemets, de l'autre, il n'y en a pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cobian="/Program Files (x86)/Cobian Backup 11/save" # entre guillemets, pas besoin de protéger les espaces, et le s caractères spéciaux.
        if [ -n "$(mount |grep /mnt/test)" ]
        then
           if  [ -d "/mnt/test$cobian" ] # -d : est un répertoire !
    NB: l'IFS n'a pas lieu d'être modifié !
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Par défaut Merci N_BaH
    je pensait avoir testé cette solution (je doit être fatigué il me faudra de grosses vacances )
    cela fonctionne parfaitement
    merci beaucoup cela m’a débloqué

  4. #4
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Citation Envoyé par cjeff71 Voir le message
    je pensait avoir testé cette solution (je doit être fatigué il me faudra de grosses vacances )
    Tu as peut être testé -d sans encadrer ta variable correctement avec des doubles quotes

    => Protéger ses opérandes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tester l'existence d'un point avec l'api google map
    Par numerodix dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/10/2008, 09h28
  2. Tester l'existence d'un fichier avec XMLHttpRequest
    Par pc.bertineau dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/03/2008, 11h53
  3. Tester l'existence d'un dossier dans plusieurs sous dossier
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/01/2008, 21h30
  4. Tester l'existence d'un dossier
    Par DooSquare dans le forum C
    Réponses: 3
    Dernier message: 17/06/2007, 15h14
  5. Tester l'existence d'une table avec une requête
    Par Oluha dans le forum Access
    Réponses: 6
    Dernier message: 29/08/2005, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo