Faire un script shell qui prend en paramètres

mahriattar Messages postés 2 Statut Membre -  
jivef Messages postés 1024 Statut Membre -
Bonjour,

Faire un script shell qui prend en paramètres le nom
du répertoire (Rep) et le nombre de sous répertoires

j'arrive pas a comprendre le question !!

5 réponses

  1. eddydu44 Messages postés 44 Statut Membre 15
     
    paramètre 1 --> variable $1
    paramètre 2 --> variable $2

    ./monscript.sh param1 param2

    dans le script tu dis
    repertoire=$1
    nbsousrepertoire=$2
    0
  2. dindoun Messages postés 1047 Statut Membre 135
     
    salut
    pour moi ca veut dire ca :
    tu fais un programme machin.sh
    ton programme sera exécuté en tapant machin.sh /opt/blahblah 5

    mais ca semble un peu bête
    alors je verrais plutot cette interprétation :
    tu fais un programme machin.sh
    ton programme sera exécuté en tapant
    machin.sh $(pwd) $(find . -maxdepth 1  -type d |wc -l )

    autrment dit : exécute le prorgamme machin.sh avec le répertoire en paramètre 1 et le nombre de sous-répertories en paramètre 2

    en fait le paramètre 2 devrait enlevr le répertorie courant "."
    0
  3. dindoun Messages postés 1047 Statut Membre 135
     
    donc,

    machin.sh $(pwd) $(find . -maxdepth 1 -type d | grep '/'  |wc -l )


    évidemment find permet de virer "." mais je ne sais plus comment

    et comme disait eddy :
    dans le script tu dis
    repertoire=$1
    nbsousrepertoire=$2
    0
  4. gnu
     
    Faire un script shell qui prend en paramètres le nom
    du répertoire (Rep) et le nombre de sous répertoires


    Oui... je ne comprends pas non plus

    du répertoire donc un répertoire particulier ? et que veut dire ce (Rep) ?

    Et prendre des paramètres ok mais pour en faire quoi ? Ça n'a pas de sens sinon
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jivef Messages postés 1024 Statut Membre 306
     
    Bonjour,

    En deux lignes, à condition d'être déjà dans le répertoire concerné :
    Si vous voulez récupérer le nom du répertoire courant :
    basename $(pwd)

    Pour le nombre de répertoires :
    pwd | grep -o \/ | wc -l

    grep -o va chercher toutes les occurence du caractère / (échappé avec \)
    et en afficher un par ligne.

    Si vous êtes dans /usr/local/scripts par exemple...
    Le résultat sera "3"

    En réalité, je n'ai pas compté les répertoires, mais les "/" c'est un biais, mais toujours est-il que çà fonctionne.

    Quand au fainéant qui veut qu'on fasse ses devoirs à sa place, il faut qu'il comprenne bien que s'il est une buse et ne comprend pas la question, il vaut mieux qu'il change de voie. S'il ne comprend pas la question, c'est au prof qu'il faut demander, pas à commentcamarche.net.

    Bonne journée.
    0