télécharger 133.6 Kb.
|
Durée : 3h L'interpréteur de commandes Bourne-shell Le Bourne-shell est le premier langage de commandes qui ait été développé sous UNIX. Vous utilisez actuellement le C-shell (/bin/csh). Le C-shell est particulièrement intéressant pour son mode interactif. Le Bourne-shell est plus adapté que le C-shell pour la programmation et reste le shell le plus utilisé pour programmer. Commande echo Essayez les commandes suivantes : $echo Bonjour $echo Bonjour à tous ! Visualisation des valeurs des variables de l'interpréteur Essayez les commandes suivantes : $set $echo $HOME $echo $PS2 Affectation de valeur à une variable Essayez les commandes suivantes : x=a echo ${x}y echo $x date set d=`date` x='123 4567 89' echo $d echo $x liste= `ls` echo $y echo $liste Expansion des chaînes de caractères Essayez les commandes : $echo 'dddd $HOME dd' $echo "dddd $HOME dd" Exportation des variables Vérifiez qu'une variable n'est pas automatiquement exportée dans un sous-interpréteur de commandes. Pour l'exporter, il faut utiliser la commande export : sh set # pas de variable x CTRL-D # sortie du sous interpreteur export x sh set # la variable x est bien exportee CTRL-D Boucle for Essayez les commandes : $for i in a ee dx; do echo Hi! ; done Vérifiez qu'en écrivant la commande for...done sur plusieurs lignes, l'interpréteur attend la suite de la commande ; ce qui est materialisé par << l'invite secondaire >>> (voir la variable $PS2). Vous devez obtenir quelque chose comme : $ for i in aa ee dx >do echo Hi! >done Hi! Hi! Hi! $ Fichier de commandes Faites de la commande for...done précédente un fichier de texte, par exemple cmd.sh. Essayez d'exécuter cmd.sh : $ ./cmd.sh C'est impossible ; vous ne possédez pas le droit d'exécution sur le fichier de commandes cmd.sh (vérifiez cela par un ls -l cmd.sh). Deux solutions s'offrent à vous.
Vérifiez le résultat par les commandes : $ls -l cmd.sh $ ./cmd.sh Les fichiers de commandes peuvent être exécutés à partir du C-shell. Comme le C-shell possède également un langage de commandes, il faut indiquer à la première ligne du fichier le shell à utiliser : #! /bin/sh Le caractère # sert habituellement à introduire un commentaire. Retour sur la boucle for Remarquez l'usage possible en lecture de variable d'itération d'une commande for, par exemple : for i in 1 2 'a b' 4 do echo $i done ou for i in * do echo $i done Commande read Essayez la commande read, en constituant un fichier de commandes du style : echo '?' read REP echo "reponse $REP" Instruction case Ecrivez un fichier de commandes choix.sh, qui demande interactivement à l'usager s'il veut afficher la date ou le répertoire de travail, analyse la réponse et exécute l'action demandée. Exemple : $ choix.sh (d)ate/(r)epertoire courant ? x ???? $ choix.sh (d)ate/(r)epertoire courant ? r /home/licence/duchmol/unix/tp2 $ choix.sh (d)ate/(r)epertoire courant ?d Lundi 24 novembre 2014 18:21:29 MEST 2001 Arguments d'un fichier de commandes Utilisez les variables $# et $* et une boucle for pour développer une commande arg.sh qui écrit sur la sortie standard :
Exemple : $arg.sh 1 arg $HOME Nombre de chaines: 3 arg.sh 1 arg /home/soufiene $ Page | Mbarek & Ben Mahmoud |
![]() | «Star Partner 2» et «bea ready™ Certified» de bea systems et supporte dorénavant l’ensemble des systèmes de la gamme bea webLogic... | ![]() | |
![]() | «maintenance des véhicules automobiles». Les travaux à réaliser, d’un montant prévisionnel de 33 444 € ht concernent l’ouverture... | ![]() | «La nouvelle Opel Astra et l’ensemble de ses systèmes de sécurité active est une étape importante dans cette direction,» a-t-elle... |
![]() | «Maintenance des Systèmes Mécaniques Automatisés» au lycée Fulgence Bienvenu à Loudéac | ![]() | |
![]() | ![]() | ||
![]() | «The changing face of it» Jason Hiner a écrit l'article «The changing face of it: Five trends to watch Notre équipe, qui se compose... | ![]() | «Vue d'ensemble des Recommandations relatives au réseau de gestion des télécommunications» |