0% ont trouvé ce document utile (0 vote)
3 vues7 pages

Guide pratique sur l'interpréteur Shell

Ce document est un tutoriel sur l'utilisation de l'interpréteur Shell sous Linux, couvrant des sujets tels que la connexion, la création d'alias, la gestion de variables d'environnement, et la création de scripts Shell. Il explique comment conserver des alias entre les sessions, modifier le prompt utilisateur, et gérer les signaux comme CTRL+C. Enfin, il décrit la création d'un script Shell et les étapes nécessaires pour l'exécuter correctement.

Transféré par

benyounesthamer69
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues7 pages

Guide pratique sur l'interpréteur Shell

Ce document est un tutoriel sur l'utilisation de l'interpréteur Shell sous Linux, couvrant des sujets tels que la connexion, la création d'alias, la gestion de variables d'environnement, et la création de scripts Shell. Il explique comment conserver des alias entre les sessions, modifier le prompt utilisateur, et gérer les signaux comme CTRL+C. Enfin, il décrit la création d'un script Shell et les étapes nécessaires pour l'exécuter correctement.

Transféré par

benyounesthamer69
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

TP SUR L’INTERPRETEUR SHELL

Q1) –Commencer par vous connecter en utilisant le même compte utilisateur userx (x=1,2,…)
Pour se connecter à Linux, il faut:
- Un poste de travail (sous Windows avec accès SSH, terminal sous Linux)
- Avoir un compte client créé par root: exemple l’utilisateur user1
- Connaitre le mot de passe de cet utilisateur (ex util01)

NB: Pour la suite de ce TP, j’utilise le prompt $ relatif au processus Shell associé à
votre session utilisateur

Q2) Vous avez décidé de créer un alias de façon à ce que, lorsque vous tapez cls, le système
exécute la commande clear.
Pour créer un alias:
$ alias cls=‘clear’
Cette alias sera valide dans la session courante jusqu’à son annulation ou fin session

Q3) Cet alias sera perdu si vous vous déconnectez et que vous vous reconnectez. Comment
faire pour que cet alias sera conservé quelle que soit la session:
$ cat >> ~/.bashrc
alias –x cls=‘clear’
^d
$
1
Q4) Créer un alias, nommé lr avec les options suivantes de ls:
- Produire un format long ;
- Lister y compris les fichiers cachés
Cet alias est à utiliser dans toute session utilisateur
Alias dans toute session utilisateur donc à définir dans ~/.bashrc
$ cat >> ~/.bashrc
alias lr=‘ls -al’
^d
Q5) Afficher le contenu de la variable relative au type de terminal. Changer
par la suite, le type de terminal au niveau de la configuration de ssh pour
qu’elle devienne vt320. Se reconnecter de nouveau. Afficher contenu de
TERM. Effacer par la suite l’écran. Qu’est-ce que vous remarquez ? Retour à
l’ancienne situation de cette variable.
Variable TERM contient le type de terminal

$ echo $TERM
vt100
$
2
Changer l’émulation au niveau de la configuration de ssh:
Rubrique : Terminal AnswerBack

Se connecter de nouveau pour que le système prend en considération cette maj de la configuration
de ssh
$ echo $TERM
vt320
$ clear
'vt320': unknown terminal type.
$
L’écran ne s’efface pas



Pour retourner à la bonne valeur de TERM

$ export TERM=vt100
$ clear
$
L’écran s’efface proprement

3
Q6) Changer le prompt utilisateur qui comprendra la suite ‘NOM_LOGIN >’ dans
toutes vos sessions.

Prompt ou caractère d’invite contenu dans la variable PS1


Pour la garder toute session, le personnaliser dans ~/.bash_profile
$ cat >> ~/.bash_profile
PS1=`echo ‘’$LOGNAME >’’ `
^d
$
On peut effectuer cette modif. en faisant appel à l’éditeur nano

Q7). Afficher le contenu de la variable HOME. Quelle est la commande


équivalente de la ligne: cd $HOME

Pour afficher le contenu de la variable HOME.


$ echo $HOME
/home/user1
$
Ainsi: $ cd $ cd ~
4
$ cd $HOME
Q8) Comment faites-vous pour que la combinaison CTRL C
ne sera pas fonctionnelle dans toute session utilisateur

CTRL C est associé au signal 2 (SIGINT)


Pour inhiber ce signal , associer à ce signal un traitement vide
trap ‘’ ’’ 2
Pour garder ce traitement dans toute session: programmer ce
traitement dans le fichier de configuration: ~/.bash_profile
(ajout de la ligne trap ‘’ ’’ 2 en fin du
fichier)

$ cat >> ~/.bash_profile


trap ‘’’’ 2
^d
$
5
Q9) Créer un script shell de nom proc1 qui comprend séquentiellement les actions
suivantes :
-Efface l’écran,
- Affiche le chemin absolu de la directory courante précédé du message ‘Directory
courante :’
-Affiche le nombre d’utilisateurs en ligne précédé du message : ‘Nombre de users
en ligne :’
a/ Lancer proc1 par son nom
b/ Si cette exécution échoue. Quelle est la cause ?
c/ Effectuer le paramétrage nécessaire pour refaire la question a/

Pour créer proc1:


$ cat > proc1
clear; echo ‘’Directory courante: `pwd` ‘’
echo ‘’ Nombre de users en ligne : `who | wc -l` ‘’
^d
$
Pour lancer l’exécution, tout d’abord ajouter à proc le droit x:
$ chmod u+x proc1
On lance l’exécution et éventuellement on peut obtenir le message d’erreur
$ proc1
proc1: commande not found
6
$
Shell exécute ce script en vérifiant les chemins spécifiés dans la
variable PATH dont ci-joint le contenu:
/bin:/usr/bin:/home/user1/bin
proc1 figure dans la directory /home/user1 (qui est la directory
courante), aucun chemin de PATH ne se réfère à cette directory
Pour lancer l’exécution de proc1par son nom ; deux solutions sont
proposées:
A- Soit donner le chemin de proc1:
$ ./proc1 (cad proc1 qui figure sous direcory courante)
Ou$/ home/user1/proc1 (chemin absolu de proc1)
B- changer la variable PATH comme suit:
$ PATH=$PATH:.
puis lancer l’exécution de proc1 par son nom
$ proc1
(nouveau écran)
Directory courante :/home/user1
Nombre en users en ligne: 3
Directory courante
$

Vous aimerez peut-être aussi