Script shell qui cree des repertoire

shonguiz -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je voudrais creer un script nommé mkdirs qui permet de creer plusieurs repertoire de la manière suivante:

mkdirs nom-generique-du-rep nombre-rep
ex : mkdirs r4 cree les rep r1 r2 r3 r4

merci pour vos réponse les gens.
A voir également:

3 réponses

shonguiz
 
Fidi, je veux que ce soit automatisé par un script, disons qu'on va appeler ce script mkdirs, si tu tapes

mkdirs rep 3, il devra creer rep 1, rep 2 et rep 3. J'ai fait ce code là

#!/bin/bash
if [ `echo $1|grep -v '^[A-z]*$'` ]||[ `echo $2|grep -v '^[0-9]*$'` ]
then
echo "le premier argument doit être un cacactere ou une chaine de caractere alors que le deuxième doit etre un entier"
else
a=$2
while [ $a -ne 0 ]
do
a=`expr $a - 1`
mkdir $1$a
done
fi

mais le problème est que le message d'erreurs de la condition if s'affiche toukours peu importe les arguments tapés.
2
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
if [ `echo $1|grep -v '^[a-z]*$'` ]||[ `echo $2|grep -v '^[0-9]*$'` ]
Tu as mis un A majuscule au lieu de minuscule dans ton grep, ce qui explique ton erreur.
Par contre t'as le moyen de faire plus court :

#!/bin/bash
echo $(seq $2) | sed "s/\(\S*\)/\1/g" | xargs mkdir
if [ $? -ne 0 ]; then
echo "le premier argument doit être un cacactere ou une chaine de caractere alors que le deuxième doit etre un entier"
fi

A noter que l'erreur peut également venir d'un problème de droits, si ça te gène, tu fais un mixe des deux versions ;-))).
Cdlt
2
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
T'as juste à utiliser la commande "mkdir".
Par exemple : mkdir titi toto te créera les répertoires titi et toto dans le répertoire courant.
Cdlt
1