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.

#51 Le 25/07/2009, à 15:45

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

wido ? tu m'abandonnes ? sad


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#52 Le 25/07/2009, à 18:47

wido

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

je ne vois pas trop pour ton problème de /home

#!/bin/bash
fct_menu ()
{
CHEMIN_SCRIPT="$(cd "$(dirname $0)" ; pwd)"
echo
echo "Choisir une Webradio par son numéro"
echo
echo "1 : 1"
echo
echo "Q : Quitter le Script"
echo
echo "Choix : "
echo

read optionmenu
    case $optionmenu in
    1)
        echo
        echo "lancement de la 1"
        echo
        mplayer $CHEMIN_SCRIPT/*.mp3 ; fct_menu;;
    Q)
        exit;;
    *)
        echo
        echo "erreur de frappe"
        echo
        fct_menu;;
        esac
}
fct_menu

chez moi ça fonctionne hmm
et pour l'absence j'ai désinstallé gnome pour xfce tongue

Hors ligne

#53 Le 25/07/2009, à 19:52

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

wido a écrit :

chez moi ça fonctionne hmm

bah évidemment que ça fonctionne chez toi ! on a pas la meme chose :

wido a écrit :
$CHEMIN_SCRIPT/*.mp3 ; fct_menu;;

tu m'avais rien redit vis à vis du chemain du fichier en question que grace au cd j'ai pu zapper ...
sauf que la évidemment je pouvais pas savoir que c'etais pas interpreter de la meme façon
enfin bon bref ... je vais corriger ça de suite et essayer
mais cette fois je vois pas pourquoi ça ne marcherais plus effectivement

EDIT :
et donc voici mon script final :

#!/bin/bash
reset  
fct_menu ()
{
reset ;
CHEMIN="$(cd "$(dirname $0)" ; pwd )"
echo   
echo "\033[34;1m Choisir une Webradio à écouter \033[0m"
echo "\033[34;1m ou \033[0m\033[31;1m Quitter le script via (Q) \033[0m"
echo   
echo "\033[33;1m (1) : 1 \033[0m"
echo "\033[33;1m (2) : 2 \033[0m"
echo "\033[33;1m (3) : 3 \033[0m"
echo "\033[33;1m (4) : 4 \033[0m"
echo "\033[33;1m (5) : 5 \033[0m"
echo "\033[33;1m (6) : 5 \033[0m"
echo   
echo -n "\033[32;1m Choix > \033[0m"
echo -n

read optionmenu
    case $optionmenu in
    1) 
        reset ;
        echo
        echo "\033[34;1m Lancement de 1 \033[0m"
        echo
        mplayer -playlist $CHEMIN/1.m3u ;
        echo
        echo "\033[34;1m Arrêt de 1 \033[0m"
        echo
        fct_menu ;;
    2) 
        reset ;
        echo
        echo "\033[34;1m Lancement de 2 \033[0m"
        echo
        mplayer -playlist $CHEMIN/2.pls ;
        echo
        echo "\033[34;1m Arrêt de 2 \033[0m"
        echo
        fct_menu ;;
    3) 
        reset ;
        echo
        echo "\033[34;1m Lancement de 3 \033[0m"
        echo
        mplayer -playlist $CHEMIN/3.m3u ;
        echo
        echo "\033[34;1m Arrêt de 3 \033[0m"
        echo
        fct_menu ;;
    4) 
        reset ;
        echo
        echo "\033[34;1m Lancement de 4 \033[0m"
        echo
        mplayer -playlist $CHEMIN/4.m3u ;
        echo
        echo "\033[34;1m Arrêt de 4 \033[0m"
        echo
        fct_menu ;;
    5)
        reset ;
        echo
        echo "\033[34;1m Lancement de 5 \033[0m"
        echo
        mplayer -playlist $CHEMIN/5.m3u ;
        echo
        echo "\033[34;1m Arrêt de 5 \033[0m"
        echo
        fct_menu ;;
    6)
        reset ;
        echo
        echo "\033[34;1m lancement de 6 \033[0m"
        echo
        mplayer -playlist $CHEMIN/6.m3u ;
        echo
        echo "\033[34;1m Arrêt de 6 \033[0m"
        echo
        fct_menu ;;
    Q)
        reset ;
        exit ;;
    *)
        reset ;
        echo
        echo "\033[31;1m Erreur de frappe \033[0m"
        echo
        fct_menu ;;
        esac
}
fct_menu

reste que je me demande ce que c'est que ce "esac" dans la partie erreur ?

Dernière modification par Qid (Le 25/07/2009, à 20:07)


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#54 Le 25/07/2009, à 20:54

wido

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

pour revenir sur la variable, tu as plusieurs façons de faire, sois tu indiques le chemin au début du script comme j'avais mis pour le post http://forum.ubuntu-fr.org/viewtopic.ph … 4#p2826544 sois tu mets à chaque fois $CHEMIN_SCRIPT puis le nom du fichier, mais le fonctionnement revient au même.


le esac ne fait pas partie de ton paragraphe "erreur" mais c'est pour boucler la fonction case (esac en inversant les lettres)

mais ton esac au même niveau que case, c'est plus facile pour la lecture tongue

Hors ligne

#55 Le 26/07/2009, à 01:51

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

wido a écrit :

pour revenir sur la variable, tu as plusieurs façons de faire, sois tu indiques le chemin au début du script comme j'avais mis pour le post http://forum.ubuntu-fr.org/viewtopic.ph … 4#p2826544 sois tu mets à chaque fois $CHEMIN_SCRIPT puis le nom du fichier, mais le fonctionnement revient au même.


le esac ne fait pas partie de ton paragraphe "erreur" mais c'est pour boucler la fonction case (esac en inversant les lettres)

mais ton esac au même niveau que case, c'est plus facile pour la lecture tongue

pour la variable justement non dans ce cas ça ne marchait pas ta premier solution
pour le esac wai effectivement j'aurais pu m'endouter : c'est le meme que le "if fi"
mais le niveau m'a faussé quand meme big_smile
enfin en tous cas merci pour ce truc ...
ça va pouvoir m'etre vachement utile pour mon serveur
je l'avais deja "integré" mais les mise a jours de "simplification" sont toujours bonnes à prendre


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#56 Le 26/07/2009, à 14:43

Totor

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Bonjour,

Bon, et bien maintenant que tu as fini ton script, je te propose ceci :

Supposons que le nom de ton script soit webradio.sh et qu'il se base sur un fichier de ressouces listant toutes les webradios que tu souhaites voire afficher dans ton menu.

Supposons que le nom de ce fichier de ressources corresponde au nom de ton script, sans l'extension, avec rc en plus, qu'il se trouve dans ton "home" et qu'il s'agisse d'un fichier caché
Le fichier ressource aurait donc pour nom : ~/.webradiorc

Enfin supposons que ce fichier soit au format suivant :
nomWebRadio;nomFichierPlayList

Pour exemple :

#nomWebRadio;nomFichierPlayList
Web Radio 1; ~/webaradios/radio1/1.m3u
Web Radio 2; ~/webaradios/radio2/2.pls

webradio;sh étant le script ci dessous :

#!/bin/bash

dossier="$(cd "$(dirname "$0")";pwd)"
script="$(basename "$0")"
ressources="$(eval echo "~/.${script%.*}rc")"

[ ! -f "${ressources}" ] && { echo "Le fichier ${ressources} n'existe pas."; exit 1; } 

affiche_menu ()
{
unset webradios
clear
echo
echo -e "\033[34;1m Choisir une Webradio à écouter \033[0m"
echo -e "\033[34;1m ou \033[0m\033[31;1m Quitter le script via (Q) \033[0m"
echo 

while read ligne
do
webradios+=("${ligne}")
echo -e "\033[33;1m (${#webradios[@]})\t: ${ligne%%;*} \033[0m"
done < <(sed '/^[[:blank:]]*#/d' "${ressources}")
echo
echo -en "\033[32;1m Choix > \033[0m"
} 

affiche_erreur()
{
        echo
        echo -e "\033[31;1m Erreur de frappe \033[0m"

}

quitter=0
while [ ${quitter} -ne 1 ];
do
    affiche_menu
    read optionmenu

    if [[ "${optionmenu}" =~ ([0-9]+|[qQ]) ]]; then
        quitter=$([[ ! "${optionmenu}" =~ [qQ] ]];echo $?) 
        if [ ${quitter} -eq 0 ]; then
            if [ ${optionmenu} -le ${#webradios[@]} ] && [ ${optionmenu} -gt 0 ]; then
                clear
                echo
                option="${webradios[$((${optionmenu}-1))]}"
                echo -e "\033[34;1m Lancement de ${option%%;*}... \033[0m"
                echo
                eval mplayer -playlist "${option#*;}" ;
                echo
                echo -e "\033[34;1m Arrêt de ${option%%;*} \033[0m"
            else
                affiche_erreur
           fi
        fi
    else
        affiche_erreur
    fi
    if [ ${quitter} -eq 0 ]; then
        echo "Appuyer sur une touche pour continuer..."
        read -n1 -s 
    fi
done

... et bien tu peux ajouter ou supprimer autant de webradio que tu le souhaites sans prendre le risque de faire une bourde dans ton script !

Note : le fichier ressources est volontairement relu à chaque affichage du menu car cela permet de ne pas avoir à quitter le script pour connaitre les playlist à afficher. Pour éviter de le lire à chaque fois, tu pourrais ajouter une option de type "Recharger".


-- Lucid Lynx --

Hors ligne

#57 Le 26/07/2009, à 15:05

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

@ Totor > @_@ ! ... oulla ...
c'est pas de mon niveau de compréhension ton truc la ...
je comprends bine l'effet "optimisation" recherché et
le principe d'actualisation à chaud est assez interessant
mais en contre partie je trouve dommage de devoir le faire en deux fichiers


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#58 Le 26/07/2009, à 15:36

wido

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

c'est la même chose pour moi yikes, j'ai les yeux tout rouge lol

Hors ligne

#59 Le 26/07/2009, à 16:53

Totor

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Qid a écrit :

mais en contre partie je trouve dommage de devoir le faire en deux fichiers

ça s'appelle du paramétrage ... et bien au contraire, c'est plus propre ainsi.
Je te donne juste une raison :
Ton script étant posté sur le forum, il est donc diffusé. Tu crois que toutes les personnes qui vont le trouver intéressant et qui vont vouloir l'utiliser ont les même playlist que toi ? Si ils doivent le modifier pour l'adapter, ça risque de les rebuter...surtout s'ils ne connaissent rien au développement...
wink


-- Lucid Lynx --

Hors ligne

#60 Le 26/07/2009, à 19:22

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

bouarf ... il y a plus tant que ça a modifier et
mon truc est tellement rangé je trouve
tu m'excusera mais justement je crois que
je suis bien placer par rapport à ceux qui n'y connaisse rien
parce que justemetn c'est aussi mon cas ... et le tien ...
je suis incapable de le comprendre ...
mais vas y explique on est la pour ça wink


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#61 Le 27/07/2009, à 09:26

Totor

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Bonjour,

Il n'y a peut-être pas tant que ça à modifier mais maintenant que tu as travaillé un peu plus d'un mois dessus, je te renvoi ici et ici pour te rappeler qu'au début, il ne te paraissait pas aussi simple que cela.

Enfin bon, s'il fallait modifier firefox à chaque fois que l'on modifie une option .... roll

Pour les explications, ce n'est pas bien complexe, contrairement à ce que tu penses !

#!/bin/bash

# récupération du nom du dossier dans lequel se trouve le script (mais tu connais déjà) -- à supprimer car ne sert plus à rien. je l'avais mis car à l'origine, le fichier des ressources se trouvait dans ce dossier mais ce n'était pas souple (si plusieurs utilisateurs d'une machine l'utilisent, ils n'ont pas forcément les même playlist)
dossier="$(cd "$(dirname "$0")";pwd)"

# récupération du nom du script
script="$(basename "$0")"

# construction du nom du fichier de ressources. Pour la commande eval, je te redirige vers le man du bash (man bash)
ressources="$(eval echo "~/.${script%.*}rc")"

# si le fichier des ressources n'existe pas, affichage d'un message d'erreur puis fin du script (man test pour la compréhension du -f)
[ ! -f "${ressources}" ] && { echo "Le fichier ${ressources} n'existe pas."; exit 1; }

# fonction affiche_menu qui lit le fichier des ressources, filtre les commentaires (lignes commencant par #) et qui construit un tableau de tous les élements du fichier (nom du tableau = webradios)
affiche_menu ()
{
# suppression du tableau
unset webradios
# efface l'écran
clear
# affichage de l'entête
echo
echo -e "\033[34;1m Choisir une Webradio à écouter \033[0m"
echo -e "\033[34;1m ou \033[0m\033[31;1m Quitter le script via (Q) \033[0m"
echo

# lecture du fichier ligne par ligne
while read ligne
do
# ajout de la ligne au tableau
webradios+= ("${ligne}") # supprimer l'espace entre le = et (
# affichage de l'option du menu correspondant (pour la compréhension des  ${#webradios[@]} et ${ligne%%;*} --> man bash)
echo -e "\033[33;1m (${#webradios[@]})\t: ${ligne%%;*} \033[0m"

# fin de la boucle while avec spécification du flux en entrée (l'utilisation du sed permet de filtrer les commentaires dans le fichier des ressources)
done < <(sed '/^[[:blank:]]*#/d' "${ressources}")
echo

# affichage de l'invite pour le choix de l'utilisateur
echo -en "\033[32;1m Choix > \033[0m"
}

# fonction affiche_erreur --> En cas d'erreur de frappe
affiche_erreur()
{
        echo
        echo -e "\033[31;1m Erreur de frappe \033[0m"

}

# début du programme principal
# quitter=indicateur de fin de sélection
quitter=0
while [ ${quitter} -ne 1 ];
do
    # affichage du menu
    affiche_menu
    # on demande à l'utilisateur de faire son choix
    read optionmenu

    # l'option de l'utilisateur correspond t'il à "q", "Q" ou à une séquence de touches de 0 à 9 (avec au moins un chiffre --> le + est là pour cela) 
    if [[ "${optionmenu}" =~ ([0-9]+|[qQ]) ]]; then
        # oui, c'est le cas
        # quitter prend la valeur du test : le choix est'il q ou Q ( 0 si c'est pas le cas, 1 si c'est le cas)
        quitter=$([[ ! "${optionmenu}" =~ [qQ] ]];echo $?)
        # l'utilisateur a t'il demandé à quitter
        if [ ${quitter} -eq 0 ]; then
            # non, ce n'est pas le cas
            # le choix de l'option correspond t'il à un indice du tableau ?
            if [ ${optionmenu} -le ${#webradios[@]} ] && [ ${optionmenu} -gt 0 ]; then
                # oui, alors on lance la playlist
                clear
                echo
                option="${webradios[$((${optionmenu}-1))]}" # cf man bash pour la syntaxe $((...))
                echo -e "\033[34;1m Lancement de ${option%%;*}... \033[0m"
                echo
                eval mplayer -playlist "${option#*;}" ;
                echo
                echo -e "\033[34;1m Arrêt de ${option%%;*} \033[0m"
            else
                #non, alors il y a une erreur de frappe
                affiche_erreur
           fi
        fi
    else
        # erreur de frappe
        affiche_erreur
    fi
    if [ ${quitter} -eq 0 ]; then
        # l'utilisateur n'a pas demander à quitter --> message pour valider la lecture du message d'erreur ou de fin de playlist
        echo "Appuyer sur une touche pour continuer..."
        read -n1 -s
    fi
done

voilà, c'est plus claire ?


-- Lucid Lynx --

Hors ligne

#62 Le 27/07/2009, à 13:24

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Totor a écrit :

voilà, c'est plus claire ?

bof ... et je trouve que pour la simplicité de ce que je demandais
t'a du vachement te creuser la tete ... mon interet dans l'affaire
etait aussi d'avoir un truc que je puisse facilement comprendre
pour pouvoir l'adapter à ce que je veux : ma demande de base
etait pas pour mes playlist musicales deja par exemple ...
et la ton truc a tellement de variable que je sens
qu'à chaque adaptation je pourrais y passer
un temps monstre ... voila voila ... je dis pas non
mais en tous cas pas pour l'instant : j'ai pas le niveau


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#63 Le 27/07/2009, à 13:34

Totor

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Qid a écrit :

t'a du vachement te creuser la tete...

non, c'est tout aussi basique que ton script

Qid a écrit :

mais en tous cas pas pour l'instant : j'ai pas le niveau

c le moment d'apprendre

je n'irai pas plus loin dans les explications car j'ai le sentiment que pour toi, un dos d'âne semble être une véritable montagne à franchir où bien que tu as un véritable baobab dans le creux de ta main..


-- Lucid Lynx --

Hors ligne

#64 Le 27/07/2009, à 13:54

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Totor a écrit :
Qid a écrit :

t'a du vachement te creuser la tete...

non, c'est tout aussi basique que ton script

pas pour un débutant

Totor a écrit :
Qid a écrit :

mais en tous cas pas pour l'instant : j'ai pas le niveau

c le moment d'apprendre

certe oui

Totor a écrit :

je n'irai pas plus loin dans les explications car j'ai le sentiment que pour toi, un dos d'âne semble être une véritable montagne à franchir où bien que tu as un véritable baobab dans le creux de ta main..

là la syntaxe m'est vraiment pas suffisamment accessible actuellement ...
au fur et à mesure de mes besoins et de mon évolution en douceur
on verra bien si je me relance dans la compréhension et l'utilisation de ta version
mais étant donné que je cherche à comprendre et non à prendre un truc tout fait
bah la oui c'est encore trop pour moi ...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#65 Le 27/07/2009, à 18:10

wido

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

je dois être au même niveau que qid, je le comprends, je préfère comprendre ce que je fais que de faire un copier/coller d'un script sans savoir ce qu'il y a dedans.

Hors ligne

#66 Le 27/07/2009, à 19:34

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

wido a écrit :

je dois être au même niveau que qid, je le comprends, je préfère comprendre ce que je fais que de faire un copier/coller d'un script sans savoir ce qu'il y a dedans.

ah merci tu me rassure ...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#67 Le 27/07/2009, à 21:30

Totor

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

L'interêt n'est effectivement pas dans le copier/coller d'un script mais effectivement dans sa compréhension.

Tu as modifié le titre de ton post en demandant s'il était évoluable. Bien sur que oui. C'est pour cela que je t'en ai fourni un avec une évolution notable qui était de le rendre paramétrable et modulable. Mon objectif n'étant pas de t'en mettre plein les yeaux mais de t'aider à progresser.

Maintenant, si tu ne cherches pas à comprendre ce script (tout comme tu l'as fait pour le tout premier posté) car tu le trouve insurmontable, et bien soit, reste avec tes connaissances en la matière. A l'inverse si tu y mets ton nez, tu y apprendras "beaucoup" (tout est relatif)


-- Lucid Lynx --

Hors ligne

#68 Le 28/07/2009, à 02:19

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Totor a écrit :

Maintenant, si tu ne cherches pas à comprendre ce script (tout comme tu l'as fait pour le tout premier posté) car tu le trouve insurmontable, et bien soit, reste avec tes connaissances en la matière. A l'inverse si tu y mets ton nez, tu y apprendras "beaucoup" (tout est relatif)

sache quand meme que je l'ai lu et meme avec les commentaire en faite il reste pas trop claire pour moi actuelement
c'est une vachement trop grosse differance par rapport à mon actuel et c'est ça qui me déroute le plus ...
j'essaye de me raccrocher à ce que j'ai et ça me donne vraiment l'impression que t'es reparti totalement de zero

enfin voila ... non serieux la je crois que ton truc m'a carement refroidi ...
il est ptetre simple pour toi mais pour quelqu'un qui n'y connait rien
je peux te jurer que c'est pas le pied t'a qu'a voir aussi la tronche de wido

si si je me pencherais dessus mais la pour le coups je crois que tu m'a tellement scotché que je vais attendre un peu


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#69 Le 28/07/2009, à 09:10

Totor

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Qid a écrit :

[...]meme avec les commentaire en faite il reste pas trop claire pour moi actuelement
c'est une vachement trop grosse differance par rapport à mon actuel et c'est ça qui me déroute le plus ...

Et bien précise tes incompréhensions ... j'interviens aussi pour expliquer... pas seulement pour fournir une solution toute faite.


Qid a écrit :

j'essaye de me raccrocher à ce que j'ai [...]

Qid a écrit :

et ça me donne vraiment l'impression que t'es reparti totalement de zero

oui, quasiment puisque la logique du script est différente.


Qid a écrit :

enfin voila ... non serieux la je crois que ton truc m'a carement refroidi ...
il est ptetre simple pour toi mais pour quelqu'un qui n'y connait rien
je peux te jurer que c'est pas le pied t'a qu'a voir aussi la tronche de wido

si si je me pencherais dessus mais la pour le coups je crois que tu m'a tellement scotché que je vais attendre un peu

Et bien, je ne pensais que je pouvais faire cet effet lol


-- Lucid Lynx --

Hors ligne

#70 Le 28/03/2010, à 01:23

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

@ Totor > je vais remettre ce fils au gout du jours
car je me suis forcé à faire un légé update :
mplayer m'ayant laché
j'ai basculé "mplayer -playlist" dans une variable
et l'ai changé pour utiliser CVLC en attendant
deja ça ça va simplifier les choses
pour changer de programme de lecture au besoin
mais ça n'empeche pas que ce sont toujours
des choses non modifiable à chaud :
je vais tenter de me relancer dans la comprehension de ta proposition
pour voir si de ce que j'en comprend ça répond à ma demande
mais je ne veux pas l'utiliser sans savoir ce qu'il fait réellement
j'espere donc que tu repassera dans le coin
car maintenant que j'ai plus de competance
je devrais pouvoir m'en sortir mais bon ...
je voudrais quand meme une sécurité wink

bref ... actuellement (depuis cette aprem) j'ai ça :

#!/bin/bash
trap '' 2
reset
fct_menu ()
{

CHEMIN="$(cd "$(dirname $0)" ; pwd )"
PROGRAMME="cvlc"
STOP_PROG="pkill cvlc"

echo
echo "\033[34;1m Choisir une Webradio à écouter \033[0m"
echo "\033[34;1m ou \033[0m\033[31;1m Quitter le script via (Q) \033[0m"
echo
echo "\033[33;1m (Y) : RADIO1 | (C) : RADIO7 \033[0m"
echo "\033[33;1m (O) : RADIO2 | (B) : RADIO8 \033[0m"
echo "\033[33;1m (M) : RADIO3 | (X) : RADIO9 \033[0m"
echo "\033[33;1m (R) : RADIO4 | (F) : RADIO10 \033[0m"
echo "\033[33;1m (L) : RADIO5 | (I) : RADIO11 \033[0m"
echo "\033[33;1m (T) : RADIO6 \033[0m"
echo
echo -n "\033[32;1m Choix > \033[0m"
echo -n

read optionmenu
    case $optionmenu in
    Y)
        reset ;
        echo
        echo "\033[34;1m Lancement de RADIO1 \033[0m"
        echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO1.pls ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO1 \033[0m"
        echo
        fct_menu ;;
    O)
	reset ;
	echo
        echo "\033[34;1m Lancement de RADIO2 \033[0m"
	echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO2.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO2 \033[0m"
        echo
	fct_menu ;;
    M)
	reset ;
	echo
        echo "\033[34;1m Lancement de RADIO3 \033[0m"
	echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO3.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO3 \033[0m"
        echo
	fct_menu ;;
    R)
        reset ;
        echo
        echo "\033[34;1m lancement de RADIO4 \033[0m"
        echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO4.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO4 \033[0m"
        echo
        fct_menu ;;
    L)
        reset ;
        echo
        echo "\033[34;1m lancement de RADIO5 \033[0m"
        echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO5.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO5 \033[0m"
        echo
        fct_menu ;;
    T)
        reset ;
        echo
        echo "\033[34;1m lancement de RADIO6 \033[0m"
        echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO6.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO6 \033[0m"
        echo
        fct_menu ;;
    C)
	reset ;
	echo
        echo "\033[34;1m Lancement de RADIO7 \033[0m"
	echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO7.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO7 \033[0m"
        echo
	fct_menu ;;
    B)
	reset ;
	echo
        echo "\033[34;1m Lancement de RADIO8 \033[0m"
	echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO8.pls ; reset ;
	echo
        echo "\033[34;1m Arrêt de RADIO8 \033[0m"
        echo
        fct_menu ;;
    X)
        reset ;
        echo
        echo "\033[34;1m Lancement de RADIO9 \033[0m"
        echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO9.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO9 \033[0m"
        echo
        fct_menu ;;
    F)
	reset ;
	echo
        echo "\033[34;1m Lancement de RADIO10 \033[0m"
	echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO10.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO10 \033[0m"
        echo
	fct_menu ;;
    I)
	reset ;
	echo
        echo "\033[34;1m lancement de RADIO11 \033[0m"
	echo
        $STOP_PROG ; $PROGRAMME $CHEMIN/RADIO11.m3u ; reset ;
        echo
        echo "\033[34;1m Arrêt de RADIO11 \033[0m"
        echo
	fct_menu ;;
    Q)
	reset ;
        exit ;;
    *)
	reset ;
	echo
        echo "\033[31;1m Erreur de frappe \033[0m"
	echo
        fct_menu ;;
        esac
}
fct_menu

EDIT :
en faite c'est juste ça qu'il faudrait que je retrouve dans ton script :

Totor a écrit :

Note : le fichier ressources est volontairement relu à chaque affichage du menu car cela permet de ne pas avoir à quitter le script pour connaitre les playlist à afficher. Pour éviter de le lire à chaque fois, tu pourrais ajouter une option de type "Recharger".

je vais voir si je trouve ça wink

EDIT2 :

Totor a écrit :
Qid a écrit :

t'a du vachement te creuser la tete...

non, c'est tout aussi basique que ton script

wai mais c'est beaucoup moins lisibles dès le premier coups d'oeuil je le maintien hmm
ah et heu ... si tu veux tout savoir oui ma non-comprehension à la lecture
est un réel handicap "reconnu*" que je ressent de plus en plus

* : en fait non je suis reconnu déficient visuel légé
mais en réalité ce n'est qu'un "dommage" secondaire

enfin voila : la solution c'est une option reload
qui relance la commande shell d'origine : sh monscript.sh ?
mais pour que ce soit le plus propre possible il faudrait qu'il soit fermé d'abbord ... hmm

EDIT3 :
eh merde ... je me suis fait avoir ce matin
car j'ai joué à la meme chose avec crontab qui me sert de réveil :
c'est pas cvlc qu'il faut tuer mais bien vlc et puis j'ai aussi rajouté le -9 à pkill : je l'avais oublié

EDIT4 :
finalement j'ai fini par passer

PROGRAMME_AUDIO="cvlc"
STOP_PROG_AUDIO="pkill -9 cvlc"

en variable générale d'environnement grâce au bash.bashrc
comme ça c'est encore plus maléable facilement wink

Dernière modification par Qid (Le 28/03/2010, à 16:05)


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#71 Le 29/03/2010, à 13:09

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Qid a écrit :
Totor a écrit :
Qid a écrit :

t'a du vachement te creuser la tete...

non, c'est tout aussi basique que ton script

pas pour un débutant

en faite il y a trop de variable, [, { dans ton truc c'est pour ça que ça rend le truc galere
c'est vrais que de devoir le stopper et le relancer pour qu'il soit a jours c'est un peu con
mais le mien il doit bien y avoir un moyen de le faire se réactualiser sans réellement le couper non ?


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#72 Le 31/03/2010, à 00:39

Qid

Re : [aide/demande] script de choix multiple [fini mais évoluable ?]

Qid a écrit :

finalement j'ai fini par passer

PROGRAMME_AUDIO="cvlc"
STOP_PROG_AUDIO="pkill -9 cvlc"

en variable générale d'environnement grâce au bash.bashrc
comme ça c'est encore plus maléable facilement wink

en faite le crontab n'en veux pas de mes variables hmm
j'ai beau avoir cherché des solutions ça n'a pas marché ...
enfin bref le sujet ici c'est d'abbord ce script de menu wink
donc ? tout en gardant cette base
personne n'a de proposition ?


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne