Introduction à la programmation sous Unix

Cours introduction à la programmation sous Unix, tutoriel & guide de travaux pratiques en pdf.

Exemples de Programmation Shell

Dans le module d’introduction au système Unix nous avons abordé un certain nombre de commandes simples ainsi que l’utilisation des boucles et des tests. Nous allons également aborder l’usage de commandes telles que awk qui sont à elles seules de véritables utilitaires.
Voyons maintenant comment utiliser ces possibilités du shell en partant d’un exemple. Nous allons décortiquer ensemble un programme simple qui affiche les dif-férents sous répertoires à partir d’un répertoire passé en paramètre. Les sous réper-toires sont affichés de manière décalée pour mettre en valeur l’arborescence des fi-chiers sous Unix. Le résultat obtenu par ce petit programme n’est certes pas des plus raffinés, mais nous avons tenu à rester simple pour être plus compréhensible. Si le coeur vous en dit, vous pouvez l’améliorer de façon par exemple à obtenir un affi-chage d’arborescence digne du gestionnaire de fichiers de Windows.
UTILISATION= » Utilisation : $0 [répertoire]  »
case $# in
0);;
1) if [ ! -d $@ ] ; then
echo « $1 : n’est pas un répertoire  » >&2
echo $UTILISATION >&2
exit 2
fi ;;
esac

cd $1
cdir =`pwd`
find . -type d -print | sort -b |
awk -F/ ‘
{
if ( NF > 1)
for (i = 0; i < NF; i++) printf  »  » printf « ‘/’ %s \n », $NF } ‘ | pg La variable UTILISATION est initialisée avec un texte incluant la variable $0 du shell qui contient le nom de la commande (le nom du fichier script exécutable). La première partie du script est constituée d’un test de type choix-multiple ‘case ….. esac). Si le premier paramètre (contenu dans $1) n’est pas un fichier de type ré-pertoire (-d), alors (then) le programme affiche le contenu de la variable UTILISA-TION sur la sortie des erreurs ( >&2).
Sinon ,la deuxième partie du script s’exécute.
La commande cd $1 effectue un positionnement dans le répertoire passé en pa-ramètre au script. La commande find . -type d -print, recherche à partir du réper-toire courant tous les fichiers de type répertoire. Le résultat de cette commande est passé à la commande de tri (sort -b) par l’intermédiaire du canal (|) qui elle retransmet à son tour à la commande awk.
La commande awk -F/ est là pour manipuler les données, l’option -F/ redéfini le séparateur d’arguments comme étant le  » / « .

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 *