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 18/06/2009, à 20:37

Qid

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

hello j'y connais pas grand chose en programmation pour pas dire rien du tout

j'aimerais donc une âme charitable pour avoir au moin un trame pour un script
1) qui me listerais plusieur programme (indeterminé pour l'instant)
2) qui me permettrait de choisir le programme voulu entre ceux listé
3) des le programme lancé le script s'arrete évidemment wink
voila merci bien à l'ame charitable qui me proposerais ça

Dernière modification par Qid (Le 26/07/2009, à 01:54)


"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

#2 Le 18/06/2009, à 20:57

wido

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

#!/bin/bash
fct_menu ()
{
echo
echo "Choisissez une option [1-5]"
echo
echo "1 : programme 1"
echo "2 : programme 2"
echo
echo "3 : programme 3"
echo "4 : programme 4"
echo "5 : quitter"
echo "veuillez choisir :"

read optionmenu
	case $optionmenu in
	1)
		echo "lancement du programme 1"
		/usr/bin/programme1& ; exit;;
	2)
		echo "lancement du programme 2"
		/usr/bin/programme2& ; exit;;
	3)
		echo "lancement du programme 3"
		/usr/bin/programme3& ; exit;;
	4)
		echo "lancement du programme 4"
		/usr/bin/programme4& ; exit;;
	5)
		exit;;
	*)
		echo "erreur de frappe"
		fct_menu;;
		esac
}
fct_menu

il y a des choses à changer mais c'est un début

Dernière modification par wido (Le 19/06/2009, à 15:48)

Hors ligne

#3 Le 18/06/2009, à 21:49

Qid

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

merci
j'ai un peu de mal à le comprendre
mais il semble en tous cas
assez facilement modulable
et c'est vrais que ce serait un plus
j'ai pas encore essayé j'aimerais d'autres avis


"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

#4 Le 18/06/2009, à 23:03

wido

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

Quand tu lances le script tu as des indications tu choisis un programme, tu tapes 1 et le programme1 se lance et le script se termine.

Hors ligne

#5 Le 18/06/2009, à 23:09

gilbert

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

hum juste... les lignes :

/usr/bin/programme1& & exit;;

ne faudrait-il pas les réécrire comme cela :

/usr/bin/programme1& && exit;;
# ou encore
/usr/bin/programme1& ; exit;;
# si l'on veut quitter quelque soit le résultat de programme1

Simplement moi-même..

Hors ligne

#6 Le 18/06/2009, à 23:16

Qid

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

wido a écrit :

Quand tu lances le script tu as des indications tu choisis un programme, tu tapes 1 et le programme1 se lance et le script se termine.

lol wai ça j'avais bien compris en meme temp c'est ce que je demandais ... lol
non ce que j'ai du mal à capter c'est la structure/architecture du script que ut me propose
car meme si j'ai vu ou ce situaient les lignes des programmes je trouve le bizard
(les seul base de chez base que j'ai en prog c'est en csharp)


"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

#7 Le 22/06/2009, à 21:54

Qid

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

wido a écrit :
#!/bin/bash
fct_menu ()
{
echo
echo "Choisissez une option [1-5]"
echo
echo "1 : programme 1"
echo "2 : programme 2"
echo
echo "3 : programme 3"
echo "4 : programme 4"
echo "5 : quitter"
echo "veuillez choisir :"

read optionmenu
	case $optionmenu in
	1)
		echo "lancement du programme 1"
		/usr/bin/programme1& ; exit;;
	2)
		echo "lancement du programme 2"
		/usr/bin/programme2& ; exit;;
	3)
		echo "lancement du programme 3"
		/usr/bin/programme3& ; exit;;
	4)
		echo "lancement du programme 4"
		/usr/bin/programme4& ; exit;;
	5)
		exit;;
	*)
		echo "erreur de frappe"
		fct_menu;;
		esac
}
fct_menu

il y a des choses à changer mais c'est un début

personne à d'autre idée ?


"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

#8 Le 24/06/2009, à 01:49

Qid

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

Qid a écrit :
wido a écrit :
#!/bin/bash
fct_menu ()
{
echo
echo "Choisissez une option [1-5]"
echo
echo "1 : programme 1"
echo "2 : programme 2"
echo
echo "3 : programme 3"
echo "4 : programme 4"
echo "5 : quitter"
echo "veuillez choisir :"

read optionmenu
	case $optionmenu in
	1)
		echo "lancement du programme 1"
		/usr/bin/programme1& ; exit;;
	2)
		echo "lancement du programme 2"
		/usr/bin/programme2& ; exit;;
	3)
		echo "lancement du programme 3"
		/usr/bin/programme3& ; exit;;
	4)
		echo "lancement du programme 4"
		/usr/bin/programme4& ; exit;;
	5)
		exit;;
	*)
		echo "erreur de frappe"
		fct_menu;;
		esac
}
fct_menu

il y a des choses à changer mais c'est un début

personne à d'autre idée ?

bon me reste plus qu'a réelement me l'adapter et me le tester alors ?


"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

#9 Le 24/06/2009, à 12:18

AnsuzPeorth

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

Qid a écrit :

personne à d'autre idée ?

Bjr,
Ben...c'est ce que tu voulais, non ? On pourrait faire different mais ca reviendrait au même finalement !
Maintenant , tu peux mettre une interface graphique plutot que la console, utilise zenity par exemple.


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#10 Le 24/06/2009, à 14:00

Qid

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

AnsuzPeorth a écrit :
Qid a écrit :

personne à d'autre idée ?

Bjr,
Ben...c'est ce que tu voulais, non ? On pourrait faire different mais ca reviendrait au même finalement !
Maintenant , tu peux mettre une interface graphique plutot que la console, utilise zenity par exemple.

c'est ce que je voulais certe wink mais il y en a qui semblait dire que c'etais améliorable
quand à l'interface graphique le pc pour lequel j'ai envie de ça est un pc serveur


"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

#11 Le 24/06/2009, à 14:10

Totor

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

Pour faire des menus en mode texte, regarde dialog si tu as moyen d'installer des paquets (puisque tu es sur un serveur, ce n'est pas forcément autorisé).

Pour le reste, tu as demandé une trame (et donc pas forcément un truc tout beau tout propre). Tu en as une, qui comme toute trame, n'est pas forcément parfaite (donc améliorable). Il n'appartient qu'à toi de t'y pencher.

Tu es le seul à connaitre ton besoin exacte !

Dernière modification par Totor (Le 24/06/2009, à 14:11)


-- Lucid Lynx --

Hors ligne

#12 Le 24/06/2009, à 14:20

Qid

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

Totor a écrit :

Pour faire des menus en mode texte, regarde dialog si tu as moyen d'installer des paquets (puisque tu es sur un serveur, ce n'est pas forcément autorisé).

Pour le reste, tu as demandé une trame (et donc pas forcément un truc tout beau tout propre). Tu en as une, qui comme toute trame, n'est pas forcément parfaite (donc améliorable). Il n'appartient qu'à toi de t'y pencher.

Tu es le seul à connaitre ton besoin exacte !

c'est mon serveur perso en local donc oui j'ai les droit dessus wink
le truc c'est que comme je l'ai dit dans mon premier post ici
j'y connais rien en matiere de programation bash

j'ai bien vu comme le retoucher pour moi le truc proposé
mais j'avoue que au delas de ça je comprend pas trop son architecture
et c'est ça que je souhaite savoir pour justement
etre capable de me débrouiller par moi meme apres


"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

#13 Le 24/06/2009, à 14:48

Totor

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

Qid a écrit :

[...]
mais j'avoue que au delas de ça je comprend pas trop son architecture
et c'est ça que je souhaite savoir [...]

#!/bin/bash

on définit le language du script

fct_menu ()

définition d'une fonction nommée fct_menu

{
echo
echo "Choisissez une option [1-5]"
echo
echo "1 : programme 1"
echo "2 : programme 2"
echo
echo "3 : programme 3"
echo "4 : programme 4"
echo "5 : quitter"
echo "veuillez choisir :"

read optionmenu
    case $optionmenu in
    1)
        echo "lancement du programme 1"
        /usr/bin/programme1& ; exit;;
    2)
        echo "lancement du programme 2"
        /usr/bin/programme2& ; exit;;
    3)
        echo "lancement du programme 3"
        /usr/bin/programme3& ; exit;;
    4)
        echo "lancement du programme 4"
        /usr/bin/programme4& ; exit;;
    5)
        exit;;
    *)
        echo "erreur de frappe"
        fct_menu;;
        esac
}

corps de la fonction fct_menu
dont le fonctionnement le suivant :
1 - affichage (ensemble de "echo")
2 - saisie de la réponse utilisateur (read optionmenu)
3 - suivant la réponse utilisateur, exécution du programme demandé ou exécution à nouveau de la fonction fct_menu en cas d'erreur (case -> esac)



fct_menu

exécution de la fonction


-- Lucid Lynx --

Hors ligne

#14 Le 24/06/2009, à 14:56

Qid

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

merci la j'y vois réellement plus claire sur l'ensemble reste l'enchainement de commande
que meme hors script j'avoue avoir du mal à maitriser :

gilbert a écrit :

hum juste... les lignes :

/usr/bin/programme1& & exit;;

ne faudrait-il pas les réécrire comme cela :

/usr/bin/programme1& && exit;;
# ou encore
/usr/bin/programme1& ; exit;;
# si l'on veut quitter quelque soit le résultat de programme1

le && ou le ; j'ai jamais trop compris la differance
à priori c'est sa derniere proposition qui est la mieu mais ça change quoi réellement ?


"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

#15 Le 24/06/2009, à 14:56

yannzbig

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

Qid a écrit :

hello j'y connais pas grand chose en programmation pour pas dire rien du tout

Il faut que tu apprennes quelques bases, par exemple ici.

#16 Le 24/06/2009, à 15:01

compte supprimé

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

Ou là : http://abs.traduc.org/abs-fr/

#17 Le 24/06/2009, à 15:07

Qid

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

merci les gars (yannzbig #15 et faustus #16) mais c'est la que ça va plus :'( ... c'est trop de lecture pour ma petite tete ...
je vais pas m'éttalé sur mes probleme mais bon le fait est que la lecture en masse n'est pas mon truc
je verrais au fure est à mesure mais c'est pas gagné ...
c'est pour ça que je demandais une base d'appui


"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

#18 Le 24/06/2009, à 20:13

Totor

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

Qid a écrit :

le && ou le ; j'ai jamais trop compris la differance
à priori c'est sa derniere proposition qui est la mieu mais ça change quoi réellement ?

<cmd1> && <cmd2> : exécuter cmd2 si cmd1 s'est terminée correctement
<cmd1> ; <cmd2> : le ; sépare simplement les instructions cmd1 et cmd2. cmd2 sera exécutée une fois cmd1 terminée.


-- Lucid Lynx --

Hors ligne

#19 Le 24/06/2009, à 20:37

Qid

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

Totor a écrit :
Qid a écrit :

le && ou le ; j'ai jamais trop compris la differance
à priori c'est sa derniere proposition qui est la mieu mais ça change quoi réellement ?

<cmd1> && <cmd2> : exécuter cmd2 si cmd1 s'est terminée correctement
<cmd1> ; <cmd2> : le ; sépare simplement les instructions cmd1 et cmd2. cmd2 sera exécutée une fois cmd1 terminée.

c'est ce que j'avais bien cru comprendre
sauf que dans le cas du script il y en a 3 des & alors c'est quoi le premier
qui est juste deriere le nom du programme en lui meme ?
et pourquoi il y a 2 ";" apres exit ? c'est l'architecture standard en bash ?


"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

#20 Le 24/06/2009, à 20:48

gilbert

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

le 1er & sert à lancer l'application en tâche de fond afin qu'elle soit détachée du terminal, pour avoir la main pendant l'exécution du programme.

Pour le case en bash. Un bloc peut-être multiligne. un seul ; sert à séparer deux commandes. Pour indiquer clairement qu'on a fini le bloc on rajoute un ;.


Simplement moi-même..

Hors ligne

#21 Le 24/06/2009, à 21:21

Totor

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

gilbert a écrit :

le 1er & sert à lancer l'application en tâche de fond afin qu'elle soit détachée du terminal, pour avoir la main pendant l'exécution du programme.

Huuum, il me semble que ce n'est pas tout à fait exacte.
le 1er & sert effectivement à lancer l'application en fond de tâche (afin que le programme suive sont cours) mais pas à la détacher du terminal. Pour la détacher du terminal, il faut soit utiliser nohup (ex. nohup prg &, soit disown (ex. prg &; disown -h %+) .


-- Lucid Lynx --

Hors ligne

#22 Le 24/06/2009, à 23:34

Qid

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

Totor a écrit :

le 1er & sert effectivement à lancer l'application en fond de tâche

heu ... mais je veux pas qu'il soit en tache de fond !? moi je veux pouvoir agir sur le programme lancé !
sinon pourquoi le lancer wink big_smile ... non mais ou sinon c'est que j'ai pas compris mais la ça m'inquiete parce que c'est du français


"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

#23 Le 24/06/2009, à 23:36

compte supprimé

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

Tu devrais quand même au moins lire les phrases en entier... cool

#24 Le 24/06/2009, à 23:44

Qid

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

faustus a écrit :

Tu devrais quand même au moins lire les phrases en entier... cool

bah pour moi c'est un peu contradictoir ce qui a été dit :
"lancer l'application en fond de tâche [...] mais pas à la détacher du terminal"


"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

#25 Le 24/06/2009, à 23:52

yannzbig

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

Fais le test en lançant dans un terminal:

gedit unFichier.txt

puis

gedit unFichier.txt &

et tu verras la différence. Avec le premier tu ne pourras plus utiliser ton terminal tant que la commande sera en cours, et avec le deuxième tu pourras continuer à taper d'autres commandes.

Par contre, dans les deux cas, en fermant le terminal tu fermeras aussi les processus lancés depuis celui-ci.

Dernière modification par yannzbig (Le 24/06/2009, à 23:55)