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 January 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 (503.8 KB)
7 pages
308Numé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
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du 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

[email protected]:~# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

[email protected]:~# export VAR=VALEUR

[email protected]:~# 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 $?

[email protected]:~/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
Chercher dans l'extrait du document