10.07.2015 Views

Le Shell: les tubes, les filtres, écriture de scripts

Le Shell: les tubes, les filtres, écriture de scripts

Le Shell: les tubes, les filtres, écriture de scripts

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3 <strong>Le</strong>s <strong>scripts</strong> shell3.1 IntroductionDans <strong>les</strong> précé<strong>de</strong>nts travaux pratiques, <strong>les</strong> différentes comman<strong>de</strong>s ont été exécutées sur laligne <strong>de</strong> comman<strong>de</strong>. Il est possible <strong>de</strong> créer <strong>de</strong>s fichiers contenant un ensemble d’instructions et<strong>de</strong> réaliser ainsi <strong>de</strong> véritab<strong>les</strong> programmes : <strong>les</strong> <strong>scripts</strong> shell.3.2 Co<strong>de</strong> retour d’un shell<strong>Le</strong> co<strong>de</strong> retour d’un shell est généré par la comman<strong>de</strong> exit suivi <strong>de</strong> la valeur <strong>de</strong> retour. Cettevaleur peut ensuite être visualisée dans le shell par la variable $ ?.3.3 Passage d’argumentsUn script shell peut prendre <strong>de</strong>s arguments sur sa ligne <strong>de</strong> comman<strong>de</strong>. Ces paramètres sontaccessib<strong>les</strong> par <strong>de</strong>s variab<strong>les</strong> internes : la variable $0 représente le nom <strong>de</strong> votre script, $1 lepremier argument, $2 le second... La comman<strong>de</strong> shift permet <strong>de</strong> décaler la numérotation <strong>de</strong> cesvariab<strong>les</strong>. <strong>Le</strong> nombre <strong>de</strong>s paramètres peut être obtenu grâce à $# alors que $* permet d’obtenirl’ensemble <strong>de</strong>s paramètres.3.4 <strong>Le</strong>s fonctionsAfin <strong>de</strong> pouvoir réutiliser le co<strong>de</strong> dans vos script shell, il est possible <strong>de</strong> définir <strong>de</strong>s fonctions.Cel<strong>les</strong>-ci <strong>de</strong> définissent grâce au mot réservé function :oufunction nom_fonction {comman<strong>de</strong>;}nom_fonction() {comman<strong>de</strong>;}Une fonction traite <strong>de</strong>s arguments en respectant <strong>les</strong> mêmes principes que le passage <strong>de</strong>paramètres d’un script shell. <strong>Le</strong> co<strong>de</strong> retour d’une fonction est retourné par le mot clef returnsuivi <strong>de</strong> la valeur retournée.5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!