Petit probleme script

Bonjour,
J'ai un petit problème quand a la création d'un script qui crée des dossier de façon récursive.
Pouvez vous m'aidez?
Merci d'avance
#!/bin/sh

i=0

if test -d $i; then
    rm -rf $i
fi
    
    while [ $i -le '10' ]
        do
            mkdir $i
            i = expr ' $i+1 '
        done
       




3 réponses

  1. Modérateur
    Salut,

    #!/bin/sh
    
    i=0
    
    if test -d $i; then
        rm -rf $i
    fi
        
        while [ $i -le '10' ]
            do
                mkdir $i
                ((i++))
            done
    

    ;-))
    1. Merci pour ton aide mais le problème persiste. J'ai une ligne qui s'affiche sans cesse après avoir créer le dossier 0.

      je cite : "
      ./mkdir.sh: 13: i++: not found
      mkdir: ne peut créer le répertoire '0': Le fichier existe
      ./mkdir.sh: 13: i++: not found
      mkdir: ne peut créer le répertoire '0': Le fichier existe
      ./mkdir.sh: 13: i++: not found
      mkdir: ne peut créer le répertoire '0': Le fichier existe
      ./mkdir.sh: 13: i++: not found
      mkdir: ne peut créer le répertoire '0': Le fichier existe
      ./mkdir.sh: 13: i++: not found
      mkdir: ne peut créer le répertoire '0': Le fichier existe
      ./mkdir.sh: 13: i++: not found
      mkdir: ne peut créer le répertoire '0': Le fichier existe

      "
      1. Modérateur
        Quelle système as-tu ?
        Quelle distrib ?
        Quelle shell ? (ls -l /bin/sh)

        Chez moi il n'y a pas de problèmes ;-\

        $ ls -l /bin/sh
        lrwxrwxrwx 1 root root 4 2010-06-09 16:08 /bin/sh -> bash*
        
        $ ls
        foo.sh*
        
        $ cat foo.sh
        #! /bin/sh
        i=0
        
        if test -d $i; then
            rm -rf $i
        fi
        
            while [ $i -le '10' ]
                do
                    mkdir $i
                    ((i++))
                done
        
        $ ./foo.sh
        
        $ ls
        0/  1/  10/  2/  3/  4/  5/  6/  7/  8/  9/  foo.sh*
        
    2. lrwxrwxrwx 1 root root 4 2009-11-19 15:18 /bin/sh -> dash
      Je suis sous Ubuntu 9.10 - le Koala Karmique

      Ouai je comprend pas pk!
      1. Modérateur
        lrwxrwxrwx 1 root root 4 2009-11-19 15:18 /bin/sh -> dash
        Le problème c'est "dash" (c'est un shell batard ;--(( )

        Change ton shebang pour "#! /bin/bash" au début de ton script (faut-il que bash soit installé ;-\)