GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 7 Neutralisation, redirection, décodage des paramètres,

Slides:



Advertisements
Présentations similaires
Portée des variables VBA & Excel
Advertisements

Synchronisation des processus père - fils
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
Chapitre I : Systèmes d’exploitation
C.
Outils de développements
FLSI602 Génie Informatique et Réseaux
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,
Licence GNU FDL - Version 1.5
Les commandes Unix.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Base de données relationnelle et requêtes SQL
Partie 1 Etude de l'existant
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)
Version 2007Administration système Linux Francis Rogard 1 SYSTEME DEXPLOITATION LINUX La ligne de commandes.
Programmation multimédia 3
CHAINE DE CARACTERES : Définition :
Manipulation de formulaires en Javascript
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 4 Syntaxe des commandes, documentation standard,
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Exemples de programmation Bourne shell et nawk(1)
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Programmation nawk(1)
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les constantes de compilation. Les fonctions.
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie II 2014.
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie I 2014.
Systèmes dexploitation et programmation de systèmes -GPA435- Cours #5: Éléments de programmation (Partie 2) Enseignant: Jean-Philippe Roberge Jean-Philippe.
Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #4: Éléments de programmation (Partie 1) Enseignant: Jean-Philippe.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Rappel Modèle analyse-synthèse de la compilation
Plan cours La notion de pointeur et d’adresse mémoire.
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 6 Substitution: variables et commandes,
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Animateur : Med HAIJOUBI
Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #8: Introduction aux filtres - Filtres UNIX Enseignant: Jean-Philippe.
Shell Equipe ID Bioinformatics Training Course June 2014.
PHP 5° PARTIE : LES COOKIES
Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x));
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
Un survol du language C.
Labo 4 : Les structures et les entrées et sorties
 Syntaxe du langage PHP
Maria Malek - EISTI - CPI11 Présentation d’UNIX –1969, laboratoire Bell –Systèmes multi-tâches multi-utilisateurs –Architecture Le noyau –Gestion de la.
Variables et environnement utilisateur W. Barhoumi.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Systèmes d’exploitation
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Tutorat en bio-informatique Le 12 octobre Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le.
Le Korn Shell. 2 Contenu  Présentation  Généralités  Les paramètes du shell  Les processus  l’édition des commandes  Les entrées sorties  La commande.
Elaboré par Ahmed BESSAIDI
Copyright © SUPINFO. All rights reserved Scripting BASH Simplification d’administration campus-Booster ID : **XXXXX.
Interpréteurs de commandes SIO Programmation Web.
Module 133 Développer des applications Web Introduction à PHP.
 Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #6: Éléments de programmation (Partie 3) Enseignant: Jean-Philippe Roberge Jean-Philippe.
FORMATION Unix/Linux CHAPITRE 3: Commandes De Base.
Scripts et fonctions Instructions de contrôle
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
Introduction à l’utilitaire
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Introduction au langage PL/SQL
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
Génie de la production automatisée GPA435 S.E. et prog. système Cours #6 Programmation bash (II) Jean-Phillipe Roberge, ing., M. ing. T. Wong, ing., Ph.D.
Elaboré par Ahmed BESSAIDI
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 7 Neutralisation, redirection, décodage des paramètres, évaluation répétitive, expr(1)

Neutralisation (2 e visite) (1) Système d’exploitation UNIX  Rappel: La neutralisation est nécessaire parce que certains caractères sont interprétés différemment par le shell et par les commandes.La neutralisation est nécessaire parce que certains caractères sont interprétés différemment par le shell et par les commandes. Il n’y a pas assez de caractères dans notre alphabet !Il n’y a pas assez de caractères dans notre alphabet ! Donc, la neutralisation est nécessaire pour empêcher le shell de faire des substitutions inappropriées.Donc, la neutralisation est nécessaire pour empêcher le shell de faire des substitutions inappropriées.

Neutralisation (2 e visite) (2) Système d’exploitation UNIX  Les méta-caractères utilisés dans la neutralisation:

Neutralisation (2 e visite) (3) Système d’exploitation UNIX  Exemples d’utilisation des guillemets:

Neutralisation (2 e visite) (4)  Exemple d’utilisation des apostrophes: Système d’exploitation UNIX

Neutralisation (2 e visite) (5)  Exemple d’utilisation de l’anti-slash: Système d’exploitation UNIX

Redirection (2 e visite) (1) Système d’exploitation UNIX  Syntaxe spéciale:

Redirection (2 e visite) (2) Système d’exploitation UNIX  Exemple d’utilisation: Programme Bourne shell Redirection de l’entrée standard avec mot clé pour l’arrêt de lecture

et "$*" (1) Système d’exploitation UNIX  Lorsque utilisé entre guillemet, la variable et la variable $* n’ont pas la même signification.  Pour l’interpréteur de commandes substitue les paramètres de position en leur entourant par des guillemets.  Ce n’est pas le cas pour "$*".

et "$*" (2)  Exemple d’utilisation: Système d’exploitation UNIX

et "$*" (3)  Exécution du programme précédent: Système d’exploitation UNIX Le résultat n’est pas le même ! Truc: utilisez dans vos programmes Bourne shell. Truc: utilisez dans vos programmes Bourne shell.

Déverminage (1)  Pour simplifier la recherche des erreurs dans un programme Bourne shell:  Utiliser la commande set(1) pour activer les modes de déverminage.  Les options disponibles sont: Système d’exploitation UNIX

Déverminage (2)  Voici un exemple: Ce programme utilise l’option de déverminage -x.Ce programme utilise l’option de déverminage -x. Système d’exploitation UNIX

Déverminage (3)  Le résultat après l’exécution du programme précédent: Système d’exploitation UNIX

Décodage des paramètres (1)  Il existe une commande simple pour le décodage systématique des paramètres de position.  Il s’agit de la commande getopts(1). La syntaxe de cette commande:La syntaxe de cette commande: getopts chaîne_options NOMVARIABLE [paramètres] chaîne_options représente les options à reconnaître par getopts(1)chaîne_options représente les options à reconnaître par getopts(1) NOMVARIABLE les options reconnues par getopts(1) sont placées dans cette variableNOMVARIABLE les options reconnues par getopts(1) sont placées dans cette variable parametres s’il existe, getopts(1) va tenter d ’extraire les options à partir de cet argumentparametres s’il existe, getopts(1) va tenter d ’extraire les options à partir de cet argument Système d’exploitation UNIX

Décodage des paramètres (2)  Un exemple utilisant getopts(1): Système d’exploitation UNIX On indique à getopts(1) de reconnaître les options -l, -q, -lq

Décodage des paramètres (3)  Les résultats de ce programme: Système d’exploitation UNIX

Décodage des paramètres (4)  Un autre exemple: install_lq2 [-l logfile -q] [nom_rep] Système d’exploitation UNIX

Décodage des paramètres (5) Système d’exploitation UNIX  Résultat de l’exécution du programme précédent:

Évaluation répétitive (1)  La commande eval(1) permet la substitution des variables et la substitution des commandes AVANT l’exécution d’une commande.  Exemple: CMD=pwd eval "$CMD" & Système d’exploitation UNIX

Évaluation répétitive (2) Système d’exploitation UNIX On peut aussi créer des noms de variables pendant l’exécution du programme !

Évaluation répétitive (3) Système d’exploitation UNIX

Commande expr(1) Système d’exploitation UNIX  Cette commande permet l’évaluation des expressions spécifiées par les arguments placés dans la ligne de commandes  Evaluation logique et relationnelle expr "$e1 \| $e2" (OU logique) expr "$e1 \& $e2" (ET logique) expr "$e1 \<= $e2" (relationnelle) etc.

Commande expr(1) Système d’exploitation UNIX  Evaluation arithmétique expr "$e1 + $e2" (addition) expr "$e1 \* $e2" (multiplication)  Manipulation des chaînes expr "$e1 : $e2" (appariement) Trouver la chaîne $e2 dans la chaîne $e1. $e2 peut contenir des expressions régulières

Commande expr(1) Système d’exploitation UNIX  Appariement des chaînes expr length $e1 (longueur) expr substr $e1pos ncar (sous-chaîne) expr index $e1 $e2 (position) Retourner la position de $e2 dans $e1 Il faut utiliser la version /usr/ucb/expr !!

Commande expr(1) Système d’exploitation UNIX  Exemple: $ A="J'aime le système Unix" $ /usr/ucb/expr length "$A" 22 $ expr "$A" : '.*le.*' 22 $ expr "$A" :.*le\(.*\) 0 $ expr "$A" : '.*le\(.*\)' système Unix système Unix $ echo '.*le\(.*\)'.*le\(.*\)

Commande expr(1) Système d’exploitation UNIX 1 #!/bin/sh 2 # Nom du programme : exprtest2 3 # exprtest2 : montrer l'utilisation de expr(1) pour 4 # obtenir le dernier membre d'une chemin de répertoire 5 # 6 7 echo "Donner un chemin de répertoire: \c" 8 read CHEMIN 9 DERNIER_MEMBRE=`expr "$CHEMIN" : '.*/\(.*\)' \| "$CHEMIN"` 10 echo "Le dernier membre de $CHEMIN est:\n$DERNIER_MEMBRE"

Commande expr(1) Système d’exploitation UNIX DERNIER_MEMBRE=`expr "$CHEMIN" : '.*/\(.*\)' \| "$CHEMIN"` DERNIER_MEMBRE=`expr e1 \| e2` e1  "$CHEMIN" : '.*/\(.*\) ’ e2  "$CHEMIN"