Docsity
Docsity

Prépare tes examens
Prépare tes examens

Étudies grâce aux nombreuses ressources disponibles sur Docsity


Obtiens des points à télécharger
Obtiens des points à télécharger

Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium


Guides et conseils
Guides et conseils

Introduction à l'informatique - Les scripts, Lectures de Introduction à l'informatique

Introduction aux scripts Bash. Q2 Définissez et exécutez un script nommé exo_1_script.sh qui réalise la suite de commandes suivante : echo "Debut"; sleep 2; ...

Typologie: Lectures

2021/2022

Téléchargé le 26/04/2022

Jaqueline82
Jaqueline82 🇫🇷

4.5

(48)

98 documents

1 / 30

Toggle sidebar

Aperçu partiel du texte

Télécharge Introduction à l'informatique - Les scripts et plus Lectures au format PDF de Introduction à l'informatique sur Docsity uniquement! Introduction à l’informatique Les scripts D. Buscaldi, J.-C. Dubacq IUT de Villetaneuse S1 2016 D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 1 / 33 Les scripts Bash Plan 1 Les scripts Bash Introduction Variables et Paramètres 2 Structures de contrôle en BASH D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 3 / 33 Les scripts Bash Introduction Introduction Structure d’un script Bash É Un script Bash commence toujours par la ligne # !/bin/bash , suivi par une série d’instructions et commentaires (optionels) É Un commentaire est une partie rédigée du script qui ne sera pas considérée comme une instruction lors de l’exécution du script. Pour commenter une portion du script on utilise le caractère #. L’ensemble du texte situé sur la même ligne et après le carcactère # sera considéré comme un commentaire et ne sera pas évalué. Exemple #!/bin/bash echo Liste des Fichiers: #affiche la liste ls D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 7 / 33 Les scripts Bash Introduction Introduction Execution d’un script É Un script est un simple fichier texte (habituellement, ils ont l’extension .sh) . Pour l’executer, il faut avant tout le rendre exécutable : chmod u+x script.sh É Maintenant, on peut l’exécuter en faisant : ./script.sh É On peut aussi le lancer en appelant explicitement l’interpréteur : bash script.sh Premier script Bash Q1 Après avoir créé un repertoire nommé /Intro_Systeme/TP_3/scripts/, écrivez et exécutez un script exo_0_script.sh qui affiche à l’écran le nombre de fichiers contenus dans le repertoire courant, après un message de texte "Nombre de fichiers :" D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 8 / 33 Les scripts Bash Introduction Exercices Introduction aux scripts Bash Q2 Définissez et exécutez un script nommé exo_1_script.sh qui réalise la suite de commandes suivante : echo "Debut"; sleep 2; echo "Apres 2 sec."; sleep 5; echo "Apres 5sec" Q3 Que se passe-t-il si vous commentez les lignes commencant par la commande sleep ? Q4 Définissez un script exo_2_script.sh qui affiche "Bonjour", définit le répertoire /Intro_Systeme/TP_3/scripts/ comme répertoire courant, puis crée dans celui-ci un répertoire Test, et finalement copie dans Test le fichier /proc/cpuinfo. Q5 Définissez un script nommé exo_3_script.sh qui affiche le contenu du répertoire Test, puis supprime le fichier cpuinfo y contenu (Test/cpuinfo), et finalement crée dans Test un fichier infoCPU.txt composé par les lignes du fichier /proc/cpuinfo qui contiennent le mot ’cpu’. D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 9 / 33 Les scripts Bash Variables et Paramètres Les Paramètres Les paramètres É Il s’agit d’unes variables spéciales qui contiennent les arguments fournis au script par la ligne de commandes É $0 : nom du script É $1 $2 ... : paramètres en position 1, 2, ... É $# : nombre de paramètres positionnels É $* : ensemble des paramètres Exemple Soit arg.sh le script suivant : #!/bin/bash echo "Nombre d’argument "$# echo "Les arguments sont "$* echo "Le second argument est "$2 login@host:˜$ ./arg.sh A B C Nombre d’argument 3 Les arguments sont A B C Le second argument est B D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 12 / 33 Les scripts Bash Variables et Paramètres Exercices Introduction aux scripts Bash Q7 Définissez un script nommé exo_5_script.sh à partir du script exo_2_script.sh, et modifiez-le pour que le nom du répertoire Test/ soit passé comme un paramètre du script. Q8 Rédigez un script recevant 3 paramètres (nom, prénom et serveur) permettant l’affichage d’une adresse mail formatée (nom.prénom@serveur) D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 13 / 33 Structures de contrôle en BASH Plan 1 Les scripts Bash 2 Structures de contrôle en BASH Les calculs arithmétiques La boucle for Les branchements conditionnels if D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 14 / 33 Structures de contrôle en BASH Les calculs arithmétiques Exercices Les calculs arithmétiques Q9 Proposez une suite de 2 commandes affectant à une variable res le résultat des opérations arithmétiques suivantes et affichant le résultat contenu dans cette variable : 5 + 7 et 3∗ 2 Q10 Proposez une suite de 3 commandes permettant : É d’affecter à une variable res la valeur 3, É d’ajouter 13 à la variable res, É d’afficher le résultat de l’addition stockée dans la variable res. D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 18 / 33 Structures de contrôle en BASH La boucle for Plan 1 Les scripts Bash 2 Structures de contrôle en BASH Les calculs arithmétiques La boucle for Les branchements conditionnels if D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 19 / 33 Structures de contrôle en BASH La boucle for for for Boucle itérative É permet de répéter l’évaluation d’une ou plusieurs instructions, É à chaque tour de boucle une variable appelée itérateur change de valeur, É la sortie de boucle s’effectue lorsque l’itérateur atteint une certaine valeurs. Syntaxe #1 for (( init ; test ; incr )) ; do expr_1 expr_2 . . . done Ici, la condition d’arrêt est sur la valeur numérique de l’itérateur. Exemple #1 test_for_loop_1.bash #!/bin/bash echo "test #1" for (( i = 0; i < 3; i++ ));do echo ’$i = ’$i done login@host:˜$ ./test_for_loop_1.bash test #1 $i = 0 $i = 1 $i = 2 D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 20 / 33 Structures de contrôle en BASH Les branchements conditionnels if Plan 1 Les scripts Bash 2 Structures de contrôle en BASH Les calculs arithmétiques La boucle for Les branchements conditionnels if D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 23 / 33 Structures de contrôle en BASH Les branchements conditionnels if if Branchements conditionnels É Le if permet de mettre en place des alternatives. É Un test (dont le résultat est Vrai ou Faux) permet de conditionner les expressions qui seront évaluées. Syntaxe #1 if test then expr_1 expr_2 . . . fi Comportement É Ici, les expressions ne sont évaluées que si le test renvoie la valeur Vrai. É Aucune des expressions ne sont évaluées si le test renvoie la valeur Faux. D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 24 / 33 Structures de contrôle en BASH Les branchements conditionnels if if Syntaxe #2 if test then expr_1 else expr_2 fi Comportement É Si le test renvoie la valeur Vrai l’expression expr_1 est évaluée, et É sinon le test renvoie la valeur Faux c’est l’expression expr_2 qui est évaluée. Syntaxe #3 if test_1 then expr_1 elif test_2 then expr_2 elif test_3 then expr_3 else expr_4 fi Comportement É Si test_1 renvoie la valeur Vrai l’expression expr_1 est évaluée, É si test_2 renvoie la valeur Vrai l’expression expr_2 est évaluée, É si test_3 renvoie la valeur Vrai l’expression expr_3 est évaluée, et É si aucun des tests ne renvoie la valeur Vrai alors c’est l’expression expr_4 qui est évaluée.D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 25 / 33 Structures de contrôle en BASH Les branchements conditionnels if Les tests Tests sur les chaînes de caractères Syntaxe Valeur [ chaine_1 = chaine_2 ] Vrai si les 2 chaînes sont identiques. [ chaine_1 != chaine_2 ] Vrai si les 2 chaînes sont différentes. [ -n chaine ] Vrai si la chaîne est non vide. [ -z chaine ] Vrai si la chaîne est vide. Tests sur les chaînes Q16 Définissez un script testPWD.sh qui prend en paramètre une chaîne de caractères et la compare avec la variable d’environnement $PWD, il doit afficher ’OK’ si le paramètre correspond à la valeur de la variable, ’Non’ en cas contraire. D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 28 / 33 Structures de contrôle en BASH Les branchements conditionnels if Les tests Tests sur les valeurs numériques Syntaxe Valeur [ nb_1 -eq nb_2 ] Vrai si nb_1 = nb_2 (eq pour equal). [ nb_1 -ne nb_2 ] Vrai si nb_1 6= nb_2 (ne pour not equal). [ nb_1 -gt nb_2 ] Vrai si nb_1> nb_2 (gt pour greater than). [ nb_1 -ge nb_2 ] Vrai si nb_1 ≥ nb_2 (ge pour greater or equal). [ nb_1 -lt nb_2 ] Vrai si nb_1< nb_2 (ge pour lower than). [ nb_1 -le nb_2 ] Vrai si nb_1 ≤ nb_2 (ge pour lower or equal). D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 29 / 33 Structures de contrôle en BASH Les branchements conditionnels if Les tests Opérateurs booléens Syntaxe Valeur ! [ test ] NOT : Vrai si le test renvoie Faux (négation). [ test_1 ] | | [ test_2 ] OU logique. [ test_1 ] && [ test_2 ] ET logique. Tables de vérité ET (&&) Vrai Faux Vrai Vrai Faux Faux Faux Faux OU (| |) Vrai Faux Vrai Vrai Vrai Faux Vrai Faux NOT ( !) Vrai Faux Faux Vra D. Buscaldi, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 30 / 33
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved