• # lister les répertoires

    Posté par . En réponse au message Projet menu interactif avec scan des dossiers. Évalué à 3. Dernière modification le 08 octobre 2024 à 09:46.

    Bonjour

    Je n'ai pas compris ce qu'est :

    ...le répertoire d'execution du script ...

    ni ce que veut dire la ligne suivante :

    ... -gérer les X accès à créer en fonction des X répertoires trouvées. ...

    Mais il est possible de lister les répertoires rien qu'en utilisant bash :

    #!/bin/bash
    repSrc="$PWD" # Répertoire dans lequel la recherche des noms de répertoire devra être faite
    compteur=0
    for fich in $repSrc/*; do # Pour chaque fichier trouvé dans le répertoire source
     if test -d "$fich"; then # si c'est bien un fichier de type répertoire
     ((compteur++)) # alors incrémenter le compteur ...
     printf '% 3d. %s\n' $compteur "$(basename "$fich")" # ... et afficher le nom du répertoire trouvé
     fi
    done

    Suivant ce qu'on veut en faire après, mettre la liste dans un tableau pourrait simplifier les choses :

    #!/bin/bash
    repSrc="$PWD" # Répertoire dans lequel la recherche des noms de répertoire devra être faite
    mesReps=() # Pour créer un tableau nommé mesReps
    for fich in $repSrc/*; do # Pour chaque fichier trouvé dans le répertoire source
     if test -d "$fich"; then # si c'est bien un fichier de type répertoire
     mesReps+=("$(basename "$fich")") # alors ajouter le nom dans le tableau mesReps
     fi
    done
    # Afficher chacun des éléménts contenus dans le tableau mesReps
    for i in ${!mesReps[@]}; do
     printf '% 3d. %s\n' $((i+1)) "${mesReps[i]}"
    done

    ... et dans ce royaume, ceux qui y voient un peu plus clair sont parfois très mal vus.