Notes sur le thème: Qu’est ce que le shell (bash) - 2° partie, Notes de Fondements informatiques. Université Paul Sabatier (Toulouse III)
Gabrielle89
Gabrielle899 janvier 2014

Notes sur le thème: Qu’est ce que le shell (bash) - 2° partie, Notes de Fondements informatiques. Université Paul Sabatier (Toulouse III)

PDF (516 KB)
7 pages
330Numéro de visites
Description
Notes de fondements informatiques sur e thème: Qu’est ce que le shell (bash) - 2° partie. Les principaux thèmes abordés sont les suivants: les variables d'environnement, script, les variables de substitution, la structur...
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 7
Ceci c'est un aperçu avant impression
3 shown on 7 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 7 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 7 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 7 pages
Télécharger le document
Qu’est ce que le shell (bash)?

 Ces variables sont définies à l’ouverture de session

 Leurs valeurs dépendent de l’utilisateur connecté

 Exemple : Variable PATH

 Défini les différents chemins où chercher les commandes

 La commande « export » permet de créer/modifier une variable

 Cette modification est temporaire

 Pour rendre l’effet permanent, il faut ajouter « export » au fichier

.bashrc

• .bashrc est un fichier caché

 Pour modifier la variable PATH sans effacer son contenu

root@fredon:~# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

root@fredon:~# export VAR=VALEUR

root@fredon:~# export PATH=$PATH:/nouveau/repertoire

 Il s’agit d’un fichier texte au format suivant :

 Un script peut accepter des arguments

 Il faut donc vérifier ces arguments avant de commencer le traitement

 Rappeler le fonctionnement du script par un message d’erreur

#! /bin/sh # Commentaires : Fonction du script # Auteur : toto # Version : 1.0 - Oct 2008 # Début du script …

Usage de la commande : script.sh arg1 arg2 arg3 arg1 : 1er argument , arg2 : 2ème argument, arg3 : 3ème argument

 Elles sont définies implicitement et peuvent être utilisées à tout moment dans le script

 Quelques variables utiles

 $0 : Nom du script (Utile lorsqu’on renomme le script)

 $1 à $9 : Argument 1 à 9 passés au script

 $# : Nombre d’arguments passés au script

 $? : Résultat de la commande précédente

 Exemple

 Exécution

#! /bin/sh cp $1 tata.txt echo $?

root@fredon:~/Documents/cours-shell# ./script.sh file.txt cp: ne peut évaluer `file.txt': Aucun fichier ou dossier de ce type 1

 Permet d’effectuer une exécution conditionnelle

 L’expression est constituée d’opérateurs

 Liste des opérateurs numériques

• -eq : Egalité (Equals)

• -ne : Non égalité (Non Equals)

• -lt : Infériorité (Less than)

• -le : Infériorité ou égalité (Less than)

• -gt : Supériorité (Greater then)

• -ge : Supériorité ou égalité (Greater equals)

if [ expression ] then # commandes à exécuter si la cond. est vraie else # commandes à exécuter si la cond. est vraie fi

 Liste des opérateurs sur chaîne de caractère

• -z : Chaîne vide

• -n : Chaîne non vide

• = : Egalité de chaîne

• != : Non égalité de chaîne

 Liste des opérateurs sur fichiers

• -L : Lien symbolique

• -d , -f : Répertoire, Fichier

• -s : Fichier vide

• -r, -w, -x : Droits qui s’appliquent (Lecteur, Ecriture, Exécution)

• -nt : Plus récent (Newer than)

• -ot : Plus vieux (Older than)

 Liste des opérateurs logiques

• ! : Négation

• -a : Et (And)

• -o : Ou (Or)

 Exemples

# Teste si le paramètre $1 est egal à 2 if [ $1 -eq 2 ] then # Commande fi

# Teste si le paramètre $1 est un fichier OU un répertoire if [ -d $1 –o –f $2 ] then # Commande fi

# Teste si le fichier existe if [ ! –f "/etc/toto.conf« ] then # Commande exécutée si le fichier n’existe pas fi

 Tester si le paramètre 2 est un fichier

 Tester si le paramètre 1 égale à toto ET paramètre 2 supérieur à 3

 Tester si le paramètre 1 n’est pas un répertoire ET s’il a le droit d’écriture

 Script capable de créer le répertoire passé en argument et de vérifier que sa création n’a pas provoqué d’erreurs

if [ -f $2 ]; then ; fi

if [ $1="toto" –a $2 –gt 3 ]; then ; fi

if [ ! –d $1 –a –w $1 ]; then ; fi

if [ ! –d $1 ]; then mkdir $1 if [ $? –eq 0 ]; then echo "Erreur lors de la création de $1« exit 1 fi fi

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
3 shown on 7 pages
Télécharger le document