Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/02/2015, à 20:42

newbieshell

aide pour creation d'un script shell

Bonjour a tous

Voici ma question :
J'aimerais listé un repertoire voulu dans un terminal ( ls /media) ca j'arrive
Par contre j'aimerez que le resultat de ls /media soit en variable pour pouvoir accédé a un repertoir voulu
exemple : ls /media >>>>    toto       tata      tonton
                  choix : 1  toto
                              2  tata
                              3  tonton
Pour avoir /media/$choix/repertoire

Car d'un pc à un autre les choix seront differents


Merci d'avance de notre aide

Dernière modification par newbieshell (Le 15/02/2015, à 20:43)

Hors ligne

#2 Le 15/02/2015, à 21:33

pingouinux

Re : aide pour creation d'un script shell

Bonsoir,
Si les noms de tes répertoires ne contiennent pas d'espaces

select choix in $(ls /media); do break; done

Ajouté :
Ceci marche dans tous les cas

liste=(/media/*);select choix in "${liste[@]}"; do break; done

Et pour utiliser la variable, ne pas oublier les " "

cd /media/"$choix"/repertoire

Dernière modification par pingouinux (Le 15/02/2015, à 21:39)

Hors ligne

#3 Le 15/02/2015, à 21:58

Didier-T

Re : aide pour creation d'un script shell

Bonjour newbieshell,
une petite question, tu souhaite lister tout le contenu de ton répertoire, ou juste les sous répertoire ?
si c'est la seconde solution alors il vaudrait mieux utiliser cette commande

ls -d1 */

tu peut tester ceci

d=$(ls -d1 */)
x=0
for i in $d; do
    echo "$x $i"
    tab[$x]="$i"
    x=$(($x+1))
done
read choix
echo ${tab[$choix]}

A+,
Didier.

Edit : en fait la solution de pingouinux est 100 fois mieux
modifié comme suit pour n'avoir que les répertoires

liste=(*/);select choix in "${liste[@]}"; do break; done; echo $choix

Dernière modification par Didier-T (Le 15/02/2015, à 22:03)

Hors ligne

#4 Le 15/02/2015, à 22:03

Watael

Re : aide pour creation d'un script shell

salut,

si c'est la seconde solution alors il vaudrait mieux utiliser cette commande

:

lesRepertoireSeulement=( /media/*/ )

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 17/02/2015, à 19:35

newbieshell

Re : aide pour creation d'un script shell

Bonsoir

Pour commencer merci de votre aide
Je pense que je me suis mal exprimé
Avec Gvim j'aimerez faire un script shell

#!/bin/bash
fct_menu ()
{
echo "
1 ) Lancement
Q ) Fermer
echo -n "Choix: "
read choix

case $choix in
    1)
       echo "liste=(/media/*);select choix in ${liste[@]}; do break; done""     
       echo -n "choix:"
       read choix
       xterm -e "cd /media/$choix/repertoire_voulu; $SHELL"
       reset 
    "fct_menu";; 

    Q|q|quit|Quit|exit)
        echo "Good bye!"
        exit 0
    ;;
    *)
        echo "erreur de frappe"
        fct_menu;;
        esac
}
fct_menu


En gros au lancement du script que j'ai la possibilité de choisir et si je tape 1, s'affiche les repertoire dans media et ensuite selon mon choix cd /media/$choix/repertoire_voulu
En esperant etres plus clair

Merci de votre aide

Hors ligne