Usage commande Dialog et Interface/menu
Fermé
naruto93sisi
Messages postés
3
Date d'inscription
samedi 13 novembre 2010
Statut
Membre
Dernière intervention
13 novembre 2010
-
13 nov. 2010 à 22:10
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 13 nov. 2010 à 23:56
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 13 nov. 2010 à 23:56
A voir également:
- Usage commande Dialog et Interface/menu
- Invite de commande - Guide
- Menu déroulant excel - Guide
- Commande terminal mac - Guide
- Menu démarrer windows 11 - Guide
- Canon quick menu - Télécharger - Utilitaires
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
13 nov. 2010 à 23:10
13 nov. 2010 à 23:10
Salut,
Il y avait quelques erreurs de syntaxes, notamment avec les tests. Il faut des espaces après le crochet ouvrant et avant le crochet fermant, ainsi qu'autour du signe "égal" :
Bon : [ "$var" = A ]
Mauvais ["$var"=A] ou [ "$var"=A ] ou ["$var" = A]
A la fin des commandes "dialog" il faut un retour à la ligne (ou un point virgule (;) avant la prochaine commande. Les anti-slashs ne servent que pour une meilleure visibilité du code quand une ligne de commande devient trop longue (c'est le cas pour dialog).
Essaie comme ça :
Malgré le fait que ça marche il y a encore quelques petites erreurs de syntaxe...
Il y avait quelques erreurs de syntaxes, notamment avec les tests. Il faut des espaces après le crochet ouvrant et avant le crochet fermant, ainsi qu'autour du signe "égal" :
Bon : [ "$var" = A ]
Mauvais ["$var"=A] ou [ "$var"=A ] ou ["$var" = A]
A la fin des commandes "dialog" il faut un retour à la ligne (ou un point virgule (;) avant la prochaine commande. Les anti-slashs ne servent que pour une meilleure visibilité du code quand une ligne de commande devient trop longue (c'est le cas pour dialog).
Essaie comme ça :
#!/bin/sh #Affichage "Graphique" tmp=/tmp/choix$$ dialog --backtitle "afficher la date plus tard" \ --title "TITRE" \ --msgbox "Texte Intro\nblablabla\nblablab\n\n Press <Enter> to continue..." 10 45 secu1=1 while [ $secu1 = 1 ] do dialog --menu "menu" 20 20 20 1 Menu1 2 Menu2 3 Menu3 4 MenuPrincpal 5 Quitter 2>$tmp choix=$(cat $tmp); if [ $choix = 1 ] then echo $choix dialog --msgbox "Catégorie Menu 1" 10 45 \ --clear elif [ $choix = 2 ] then dialog --msgbox "Catégorie Menu 2" 10 45 \ --clear elif [ $choix = 3 ] then dialog --msgbox "Catégorie Menu 3" 10 45 \ --clear elif [ $choix = 4 ] then dialog --msgbox "Revenir au menu principal " 10 45 \ --clear secu1=0 elif [ $choix = 5 ] then dialog --msgbox "Quitter le programme" 10 45 \ --clear else echo "not a choice" fi done
Malgré le fait que ça marche il y a encore quelques petites erreurs de syntaxe...
naruto93sisi
Messages postés
3
Date d'inscription
samedi 13 novembre 2010
Statut
Membre
Dernière intervention
13 novembre 2010
13 nov. 2010 à 23:21
13 nov. 2010 à 23:21
Merci beaucoup pour cette réponse si rapide.
Je vais voir à régler cela...
Je vais voir à régler cela...
naruto93sisi
Messages postés
3
Date d'inscription
samedi 13 novembre 2010
Statut
Membre
Dernière intervention
13 novembre 2010
13 nov. 2010 à 23:53
13 nov. 2010 à 23:53
Pourrais tu expliciter le fait que dialog ait besoin d'un retour de ligne... Où iraient les ; ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
13 nov. 2010 à 23:56
13 nov. 2010 à 23:56
Non ce n'est pas dialog qui a besoin d'un retour à la ligne, c'est la syntaxe entre 2 commandes qui l'impose pour séparer 2 commandes (ou un point virgule).