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 :

Créer un répertoire et son sous-répertoire avec un enchaînement de commandes


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    Par défaut Créer un répertoire et son sous-répertoire avec un enchaînement de commandes
    Salut tout le monde,

    Tout est dans le titre de la discussion, j'aimerais bien savoir comment créer un répertoire "rep" (par exemple) et son sous-répertoire "sous_rep" en utilisant un enchaînement conditionnel de commandes.

    Merci d'avance,

    Cordialement.

  2. #2
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    Par défaut
    J'ai trouvé une façon de le faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $ mkdir rep && cd rep && mkdir sous_rep
    Je ne sais pas si vous aurez d'autres idèes, de toute façon ça parrait très simple mais tout a l'air difficile quand on débute

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    pourquoi
    Citation Envoyé par dark_geek
    en utilisant un enchaînement conditionnel de commandes
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    Par défaut
    j'ai du utilisé l'enchaînement conditionnel parceque c'est une question de cours, mais certe que la deuxième reste moins courte et plus professionnelle

  5. #5
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Salut,

    sinon une variante de ta commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mkdir rep && mkdir rep/sous_rep
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  6. #6
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Pour le plaisir, une autre variante (utile dans un script, si on doit renouveler l'opération souvent) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    rep="NomDuRépertoire"
    sousrep="NomDuSousRép."
    mkdir $rep && mkdir $rep/$sousrep
    Chouette, non ? Surtout qu'on peut tout mettre en une seule instruction (cf N_BaH).
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  7. #7
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut

    Citation Envoyé par ALT
    Pour le plaisir...
    Ceci dis j'adore lire vos interventions j'apprends toujours un petit truc.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  8. #8
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut


    Merci !

    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    Citation Envoyé par dark_geek
    un enchaînement conditionnel de commandes
    ce ne serait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Rep="newDir" sousRep="$Rep/subDir"
     
    if [ ! -d "$sousRep" ]; then
       mkdir -p "$sousRep"
    fi
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #10
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Salut,

    @ALT : De rien

    J'apprecie toujours beaucoup de lire tes posts ainsi que ceux de N_BaH et jmelyn (et d'autres bien sûr ). Car j'y apprends toujours quelque chose et vos explications sont claires et agréables.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  11. #11
    Membre éclairé Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Points : 823
    Points
    823
    Par défaut
    Lorsqu'il s'agit de très petits if, je choisis de les faire en une seule ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [[ ! -e $rep ]] && mkdir $rep
    [[ ! -e $rep/$sous_rep ]] && mkdir $rep/$sous_rep
    J'ai mis une condition -e parce qu'il peut exister un fichier du même nom et la création va... merder. Mais ce que je fais habituellement est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if mkdir -p $rep/$sous_rep 2> /dev/null
    then
      echo "$execName ERROR: unable to create '$rep/$sous_rep'. Exiting..."
      exit 1
    fi
    La commande mkdir -p permet de créer plusieurs niveaux de répertoire en une seule fois, pourquoi s'en priver?

    PS: Salut Winnt, et merci! J'aime lire également tes posts, trop rares!
    Un problème bien posé est déjà résolu (H. Bergson).

  12. #12
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Pour Winnt :
    Encore merci. C'est toujours agréable de recevoir des compliments.
    Et je ne suis pas le seul à essayer d'être clair car...
    Ce qui se conçoit bien s'énonce clairement & les mots pour le dire viennent aisément.
    (Nicolas Boileau)


    Autrement dit, comme beaucoup d'autres, si je n'ai pas bien compris quelque chose, j'évite de disserter dessus.
    Simple !

    Bonne journée à tous.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  13. #13
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Salut,

    Il ne reste plus qu'à créer un topic dédié compliments et brassées de fleurs
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  14. #14
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 1
    Points : 0
    Points
    0
    Par défaut bash
    Citation Envoyé par jmelyn Voir le message
    Lorsqu'il s'agit de très petits if, je choisis de les faire en une seule ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [[ ! -e $rep ]] && mkdir $rep
    [[ ! -e $rep/$sous_rep ]] && mkdir $rep/$sous_rep
    J'ai mis une condition -e parce qu'il peut exister un fichier du même nom et la création va... merder. Mais ce que je fais habituellement est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if mkdir -p $rep/$sous_rep 2> /dev/null
    then
      echo "$execName ERROR: unable to create '$rep/$sous_rep'. Exiting..."
      exit 1
    fi
    La commande mkdir -p permet de créer plusieurs niveaux de répertoire en une seule fois, pourquoi s'en priver?

    PS: Salut Winnt, et merci! J'aime lire également tes posts, trop rares!

    Si par exemple j'aimerais créer un dossier pare exemple Pomme et dans ce dossier ou y retrouve les sous-dossier pomme 1..pomme2..pomme3
    avec la condition que sil existe on fait un message d'erreur on fait comment ?

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    tu lis la discussion, j'y ai donné la réponse.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/12/2011, 17h33
  2. Réponses: 30
    Dernier message: 08/12/2008, 11h57
  3. Réponses: 5
    Dernier message: 18/01/2007, 09h04
  4. Réponses: 3
    Dernier message: 17/11/2006, 14h35
  5. Réponses: 6
    Dernier message: 25/10/2006, 21h00

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