Faire un script shell qui prend en paramètres

Fermé
mahriattar Messages postés 2 Date d'inscription samedi 26 février 2011 Statut Membre Dernière intervention 3 juin 2011 - 3 juin 2011 à 21:19
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 17 févr. 2017 à 21:45
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 !!
A voir également:

5 réponses

eddydu44 Messages postés 42 Date d'inscription jeudi 16 février 2017 Statut Membre Dernière intervention 29 septembre 2018 14
17 févr. 2017 à 15:47
paramètre 1 --> variable $1
paramètre 2 --> variable $2

./monscript.sh param1 param2

dans le script tu dis
repertoire=$1
nbsousrepertoire=$2
0
dindoun Messages postés 1027 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 17 février 2017 135
Modifié par dindoun le 17/02/2017 à 18:24
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
dindoun Messages postés 1027 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 17 février 2017 135
Modifié par dindoun le 17/02/2017 à 19:01
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
Modifié par jivef le 17/02/2017 à 21:49
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