J'apprends à écrire des scripts SHELL (sh) ou (ksh).
J'aimerai apprendre à écrire des scripts interactifs qui génèrent des menus.
Voici le script que j'ai trouvé sur le WEB mais qui ne marche pas. Je ne
sais pas pourquoi.
Merci de m'aider à le faire tourner ou me proposer un autre script ou un
autre modèle plus facile.
Merci aussi de me conseiller des tutoriels ou des sites WEB qui m'aideront à
mieux apprendre à écrire de menus interactifs sous UNIX.
#! /bin/sh
opt1="Entrez le nom du répertoire."
opt2="Entrez le nom du fichier à rechercher."
opt3="Entrez la date du jour."
opt4="quitter le progamme."
echo -e "\nMENU RECHERCHE FICHIER\n"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thierry Boudet
On 2006-12-14, Guytou wrote:
Ce script ne fonctionne pas. Merci de me le corriger.
1) Il me faut une adresse postale pour envoyer le devis.
2) Veuillez préciser précisement votre version d'Unix. 3) Quel shell utilisez-vous ?
-- Pour ces souris, c'est index sur le bouton droit, majeur au-dessus de la molette, annulaire sur le bouton droit et pouce et auriculaire sur les côtés pour les mouvement latéraux. {{ JL in fcol.debats: attention aux entorses }}
On 2006-12-14, Guytou <mapasa@free.fr> wrote:
Ce script ne fonctionne pas. Merci de me le corriger.
1) Il me faut une adresse postale pour envoyer le devis.
2) Veuillez préciser précisement votre version d'Unix.
3) Quel shell utilisez-vous ?
--
Pour ces souris, c'est index sur le bouton droit, majeur au-dessus de la
molette, annulaire sur le bouton droit et pouce et auriculaire sur les
côtés pour les mouvement latéraux.
{{ JL in fcol.debats: attention aux entorses }}
Ce script ne fonctionne pas. Merci de me le corriger.
1) Il me faut une adresse postale pour envoyer le devis.
2) Veuillez préciser précisement votre version d'Unix. 3) Quel shell utilisez-vous ?
-- Pour ces souris, c'est index sur le bouton droit, majeur au-dessus de la molette, annulaire sur le bouton droit et pouce et auriculaire sur les côtés pour les mouvement latéraux. {{ JL in fcol.debats: attention aux entorses }}
Pascal Bourguignon
"Guytou" writes:
J'apprends à écrire des scripts SHELL (sh) ou (ksh). J'aimerai apprendre à écrire des scripts interactifs qui génèrent des menus. Voici le script que j'ai trouvé sur le WEB mais qui ne marche pas. Je ne sais pas pourquoi. Merci de m'aider à le faire tourner ou me proposer un autre script ou un autre modèle plus facile. Merci aussi de me conseiller des tutoriels ou des sites WEB qui m'aideront à mieux apprendre à écrire de menus interactifs sous UNIX.
Le mieux c'est d'utiliser google.
Par exemple: tutorial shell programming ou: initiation "programmation en shell" etc..
Aussi, il ne faut pas forcément se limiter au shell, qui n'est apprès tout qu'un langage de programmation bien limité (son seul avantage étant sa spécialisation pour donner des commandes interactives et combiner d'autres commandes et programmes). Je conseillerais donc une initiation à la programmation générale, incluant une paire de langages de programmation universels, comme Lisp (scheme) ou C (Pascal, Modula-2), ou à la rigueur, Python ou Ruby ou Java.
En shell, on n'a pas beaucoup de choix au niveau des structures de données. Ça rend la programmation assez difficile. Par exemple on peut utiliser des vecteurs, mais on n'a pas de tableau à deux dimensions ni plus. On peut s'en sortir en bidouillant avec les chaînes.
Par exemple, je pourrais défini un menu comme un vecteur de chaînes contenant une "structure" avec les informations suivante sur un article de menu:
- chaîne à saisir pour lancer la commande. - la commande à exécuter. - le libélé de l'article de menu.
print_menu () { for item in "$@" ; do echo "$item" | ( IFS='!' read key command label ; echo "${key}) ${label}" ) done }
# et trouver l'article de menu sélectionné avec:
select_menu () { local result="" local choice="$1" shift result="$(for item in "$@" ; do echo "$item" | ( IFS='!' read key command label if [ "$choice" = "$key" ] ; then echo "$item" fi ) done)" if [ -z "$result" ] ; then echo '!echo "There'''s no command '"$choice"'"!' else echo "$result" fi }
J'apprends à écrire des scripts SHELL (sh) ou (ksh).
J'aimerai apprendre à écrire des scripts interactifs qui génèrent des menus.
Voici le script que j'ai trouvé sur le WEB mais qui ne marche pas. Je ne
sais pas pourquoi.
Merci de m'aider à le faire tourner ou me proposer un autre script ou un
autre modèle plus facile.
Merci aussi de me conseiller des tutoriels ou des sites WEB qui m'aideront à
mieux apprendre à écrire de menus interactifs sous UNIX.
Le mieux c'est d'utiliser google.
Par exemple: tutorial shell programming
ou: initiation "programmation en shell"
etc..
Aussi, il ne faut pas forcément se limiter au shell, qui n'est apprès
tout qu'un langage de programmation bien limité (son seul avantage
étant sa spécialisation pour donner des commandes interactives et
combiner d'autres commandes et programmes). Je conseillerais donc une
initiation à la programmation générale, incluant une paire de langages
de programmation universels, comme Lisp (scheme) ou C (Pascal,
Modula-2), ou à la rigueur, Python ou Ruby ou Java.
En shell, on n'a pas beaucoup de choix au niveau des structures de
données. Ça rend la programmation assez difficile. Par exemple on
peut utiliser des vecteurs, mais on n'a pas de tableau à deux
dimensions ni plus. On peut s'en sortir en bidouillant avec les
chaînes.
Par exemple, je pourrais défini un menu comme un vecteur de chaînes
contenant une "structure" avec les informations suivante sur un
article de menu:
- chaîne à saisir pour lancer la commande.
- la commande à exécuter.
- le libélé de l'article de menu.
print_menu () {
for item in "$@" ; do
echo "$item" | ( IFS='!' read key command label ; echo "${key}) ${label}" )
done
}
# et trouver l'article de menu sélectionné avec:
select_menu () {
local result=""
local choice="$1"
shift
result="$(for item in "$@" ; do
echo "$item"
| ( IFS='!' read key command label
if [ "$choice" = "$key" ] ; then
echo "$item"
fi )
done)"
if [ -z "$result" ] ; then
echo '!echo "There'''s no command '"$choice"'"!'
else
echo "$result"
fi
}
J'apprends à écrire des scripts SHELL (sh) ou (ksh). J'aimerai apprendre à écrire des scripts interactifs qui génèrent des menus. Voici le script que j'ai trouvé sur le WEB mais qui ne marche pas. Je ne sais pas pourquoi. Merci de m'aider à le faire tourner ou me proposer un autre script ou un autre modèle plus facile. Merci aussi de me conseiller des tutoriels ou des sites WEB qui m'aideront à mieux apprendre à écrire de menus interactifs sous UNIX.
Le mieux c'est d'utiliser google.
Par exemple: tutorial shell programming ou: initiation "programmation en shell" etc..
Aussi, il ne faut pas forcément se limiter au shell, qui n'est apprès tout qu'un langage de programmation bien limité (son seul avantage étant sa spécialisation pour donner des commandes interactives et combiner d'autres commandes et programmes). Je conseillerais donc une initiation à la programmation générale, incluant une paire de langages de programmation universels, comme Lisp (scheme) ou C (Pascal, Modula-2), ou à la rigueur, Python ou Ruby ou Java.
En shell, on n'a pas beaucoup de choix au niveau des structures de données. Ça rend la programmation assez difficile. Par exemple on peut utiliser des vecteurs, mais on n'a pas de tableau à deux dimensions ni plus. On peut s'en sortir en bidouillant avec les chaînes.
Par exemple, je pourrais défini un menu comme un vecteur de chaînes contenant une "structure" avec les informations suivante sur un article de menu:
- chaîne à saisir pour lancer la commande. - la commande à exécuter. - le libélé de l'article de menu.
print_menu () { for item in "$@" ; do echo "$item" | ( IFS='!' read key command label ; echo "${key}) ${label}" ) done }
# et trouver l'article de menu sélectionné avec:
select_menu () { local result="" local choice="$1" shift result="$(for item in "$@" ; do echo "$item" | ( IFS='!' read key command label if [ "$choice" = "$key" ] ; then echo "$item" fi ) done)" if [ -z "$result" ] ; then echo '!echo "There'''s no command '"$choice"'"!' else echo "$result" fi }