Programmation en exploitation sous UNIX

Programmation en exploitation sous UNIX

LE SHELL

Un programme C non intégré au noyau
Interpréteur de commandes
Langage de programmation
Permet d’étendre les commandes du système d’exploitation
Nombreuses versions
sh shell Bourne (disponible sur toutes les machines)
csh Berkeley (Bill Joy)
rsh exécution à distance
tcsh, ksh, bash, vsh,…

Caractéristiques de l’interprète

Analyse et interprète des lignes de commandes
Création et lancement des processus associés aux commandes (contrôle de processus)
Distinction entre processus bloquant et tâche de fond
Redirection des E/S
Mécanisme de substitution de chaînes de caractères
Accès aux ressources de la machine : le processeur (implicitement), le(s) disque(s), imprimantes,…
via des commandes.
Affiche un prompt pour signifier qu’il est prêt à interpréter une commande
Permet d’étendre les commandes du système l’exploitation
Propose un véritable langage de programmation
Nombreuses versions (sh, csh, ksh, bash,…)

Structure de la boucle d’interprétation

Le shell est un programme dont l’algo pourrait être :
Tant que vrai
Lire une ligne
Identifier la commande (vérifier la syntaxe et sémantique)
Création d’un processus exécutant le fichier associé à la commande
Attente de la fin d’exécution de ce processus
Fin Tant que

LANGUAGE SHELL : GENERALITES

Variables utilisateurs (chaînes de caractères)
Contenu obtenu en préfixant  $  à la variable
Affectation par l’opérateur = ( autrement selon le shell)
Exemple : v=bonjour
echo $v
Afficher bonjour
Variables prédéfinies
Affectées par le shell : # ? $ ! –
Affectées avant l’exécution : HOME PATH MAIL TERM PS1 PS2 IFS (variables de configuration)
Macroprocesseur de substitution
Commandes internes break continue cd eval exit export login newgrp read shift set wait unmask trap
Structure de contrôles : if-then-else for-do-done while-do-done case-in-esac

VARIABLES D’ENVIRONNEMENT PREDEFINIES

HOME chemin d’accès au répertoire initial de l’utilisateur
PATH suite de chemins d’accès aux répertoires des exécutables
PS1 invite principale du shell en mode interpréteur
PS2 invite secondaire du shell en mode programmation
IFS séparateurs de champ des arguments
MAIL chemin d’accès à la boite aux lettres utilisateur
MAILCHECK intervalle en sec au bout duquel le mail est contrôlé
DISPLAY nom de l’écran d’affichage
TERM nom du type de terminal

QUOTAGE

Rôle
le quotage est utilisé pour supprimer les fonctionnalités de certains caractères spéciaux du shell, dont les métacaractères.
Méta-caractères: \ $ * `  » ‘
Caractère d ’échappement: \
le caractère \ préserve la valeur littérale du caractère qui le suit
Simples quotes ‘…’ les caractères inclus entre 2 simples quotes ne sont pas évalués
Doubles quotes « … »
les caractères inclus entre 2 doubles quotes conservent leur valeur à l’exception de $ ` et \.
Exemple TOTO=’bonjour ’ echo ‘$TOTO et ‘ « $TOTO » $TOTO et bonjour

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *