Ecrire un Programme en Bourne Shell
matie7
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
chaibi -
chaibi -
Bonjour,
Je suis étudiant en BTS IG et j'ai plsuiers programmes à écrire en Bourne Shell.
Programme n°1 :
Ecrire un programme en Bourne Shell qui accepte indifféremment 0,1 ou 2 arguments numériques et les classer en ordre croissant, comme dans l'exemple suivant :
$ classe 26 13
13 est inférieur a 26
$ classe 11
Il manque un argument, entrer votre nombre : 89 (89 entré par l'utilisateur)
11 est inferieur a 89
$ classe
Il manque deux arguments.
Entrer le premier argument : 987 (987 entré par l'utilisateur)
Entrer le second argument : 23 (23 entré par l'utilisateur)
23 est inférieur a 987
Programme n°2
Ecrire un programme en Bourne Shell qui sélectionne dans le répertoire courant les fichiers possèdant une extension (essai.c, truc.f, toto.pas mais pas les fichiers commencant par un .) et qui les range dans le répertoire dont le nom est l'extension (crée automatiquement s'il existe pas). Par exemple :
$ ls -C
essai.c essaibis.c graphic.pas 1 machin.1
pas toto.pas truc1 truc2 truc3
$ range
le répertoire c a ete cree.
le fichier essai.c a ete deplace dans c.
le fichier essaibis.c a ete deplace dans c.
le fichier graphic.pas a ete deplace dans pas.
le fichier machin.1 a ete deplace dans 1.
le fichier toto.pas a ete deplace dans pas.
$ls -C
c 1 pas truc1 truc2 truc3
$
Merci beaucoup d'avance pour votre aide.
Je suis étudiant en BTS IG et j'ai plsuiers programmes à écrire en Bourne Shell.
Programme n°1 :
Ecrire un programme en Bourne Shell qui accepte indifféremment 0,1 ou 2 arguments numériques et les classer en ordre croissant, comme dans l'exemple suivant :
$ classe 26 13
13 est inférieur a 26
$ classe 11
Il manque un argument, entrer votre nombre : 89 (89 entré par l'utilisateur)
11 est inferieur a 89
$ classe
Il manque deux arguments.
Entrer le premier argument : 987 (987 entré par l'utilisateur)
Entrer le second argument : 23 (23 entré par l'utilisateur)
23 est inférieur a 987
Programme n°2
Ecrire un programme en Bourne Shell qui sélectionne dans le répertoire courant les fichiers possèdant une extension (essai.c, truc.f, toto.pas mais pas les fichiers commencant par un .) et qui les range dans le répertoire dont le nom est l'extension (crée automatiquement s'il existe pas). Par exemple :
$ ls -C
essai.c essaibis.c graphic.pas 1 machin.1
pas toto.pas truc1 truc2 truc3
$ range
le répertoire c a ete cree.
le fichier essai.c a ete deplace dans c.
le fichier essaibis.c a ete deplace dans c.
le fichier graphic.pas a ete deplace dans pas.
le fichier machin.1 a ete deplace dans 1.
le fichier toto.pas a ete deplace dans pas.
$ls -C
c 1 pas truc1 truc2 truc3
$
Merci beaucoup d'avance pour votre aide.
A voir également:
- Ecrire un Programme en Bourne Shell
- Classic shell - Télécharger - Personnalisation
- Ecrire en gras sur whatsapp - Guide
- Écrire en majuscule - Guide
- Ecrire en miroir - Guide
- Mettre en veille un programme - Guide
5 réponses
Salut,
Pour commancer
http://www.trustonme.net/categorie.php?id=69
http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial_s&hl=fr&q=scripts+shell&meta=&btnG=Recherche+Google
Programme 1
un exemple qui peut t'aider
Pour commancer
http://www.trustonme.net/categorie.php?id=69
http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial_s&hl=fr&q=scripts+shell&meta=&btnG=Recherche+Google
Programme 1
un exemple qui peut t'aider
#! /bin/sh if [ $# -ne 0 ];then echo $1 echo $2 else echo "pas d'arguments" fi
Puur le 2
Ceci peut te fournir un embryon de solution, à toi à améliorer et vérifier....
Johan
Ceci peut te fournir un embryon de solution, à toi à améliorer et vérifier....
johand@horus:~/tmp/essai$ touch .hidden1 .hidden2 source.c source.S archive.tar.gz johand@horus:~/tmp/essai$ cp ../range.sh . johand@horus:~/tmp/essai$ ls -Al total 4 -rw-r--r-- 1 johand johand 0 2006-03-01 21:29 archive.tar.gz -rw-r--r-- 1 johand johand 0 2006-03-01 21:29 .hidden1 -rw-r--r-- 1 johand johand 0 2006-03-01 21:29 .hidden2 -rwxr-xr-x 1 johand johand 185 2006-03-01 21:29 range.sh -rw-r--r-- 1 johand johand 0 2006-03-01 21:29 source.c -rw-r--r-- 1 johand johand 0 2006-03-01 21:29 source.S johand@horus:~/tmp/essai$ ./range.sh find: AVERTISSEMENT: vous avez spécifié l'option -maxdepth après un argument qui n'est pas une option -type mais les options sont positionnelles (-maxdepth affecte les tests spécifiés avant aussi bien qu'après) johand@horus:~/tmp/essai$ ls -Al total 16 drwxr-xr-x 2 johand johand 4096 2006-03-01 21:29 c drwxr-xr-x 2 johand johand 4096 2006-03-01 21:29 gz -rw-r--r-- 1 johand johand 0 2006-03-01 21:29 .hidden1 -rw-r--r-- 1 johand johand 0 2006-03-01 21:29 .hidden2 drwxr-xr-x 2 johand johand 4096 2006-03-01 21:29 S drwxr-xr-x 2 johand johand 4096 2006-03-01 21:29 sh johand@horus:~/tmp/essai$ cat sh/range.sh #!/bin/sh thefiles=$(find . -type f -maxdepth 1 -not -name '.*') for file in $thefiles; do ext=${file##*.} [ -d $ext ] || mkdir $ext || echo "Cannot create $ext" mv $file $ext done
Johan
Ah oui, j'utilise quelques particularités de BASH
par exzmple $(xommande) qui est l'équivalent de l'illisible et infâme construction
`commande`
Enfin, je crois avoir affiché les bons "backetiques" ;)
par exzmple $(xommande) qui est l'équivalent de l'illisible et infâme construction
`commande`
Enfin, je crois avoir affiché les bons "backetiques" ;)
Bonjour,
je m'appelle Louagnaba Douzoumka,etudiant en troisieme année de filière informatique appliquée à l'université de N'djamena.
je voudrai que vous m'envoyez des exercices corrigés du simple au plus compliqué en programmation Unix(Bourne shel) pour avoir de bonnes bases et de competences suffisantes en Programmation Unix.
Email: douzoumka@yahoo.frl
je m'appelle Louagnaba Douzoumka,etudiant en troisieme année de filière informatique appliquée à l'université de N'djamena.
je voudrai que vous m'envoyez des exercices corrigés du simple au plus compliqué en programmation Unix(Bourne shel) pour avoir de bonnes bases et de competences suffisantes en Programmation Unix.
Email: douzoumka@yahoo.frl
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question