3. Un premier Script

Flux RSSPartager sur Twitter

Achetez ce tutoriel de script Shell au format PDF pour seulement 5 $ Pour notre premier script shell, nous allons simplement écrire un script qui dit « Bonjour le monde ». Nous allons ensuite essayer de tirer le meilleur parti d’un programme Hello Worldprogram que tout autre tutoriel que vous avez déjà lu:-)
Créer un fichier (first.sh ) comme suit : first.sh

#!/bin/sh# This is a comment!echo Hello World # This is a comment, too!

La première ligne indique à Unix que le fichier doit être exécuté par /bin/sh.C’est l’emplacement standard du shell Bourne sur à peu près tous les systèmes Unix. Si vous utilisez GNU/Linux, /bin/sh est normalement un lien symbolique vers bash (ou, plus récemment, dash).

La deuxième ligne commence par un symbole spécial : #. Cela marque la ligne comme un commentaire, et elle est complètement ignorée par le shell.
La seule exception est lorsque la toute première ligne du fichier démarre avec #! – comme le nôtre. C’est une directive spécialequi Unix traite spécialement. Cela signifie que même si vous utilisez csh, ksh ou autre chose comme shell interactif, ce qui suit doit être interprété par le shell Bourne.
De même, un script Perl peut commencer par la ligne #!/usr/bin/perl pour indiquer à votre shell interactif que le programme qui suit doit être exécuté par perl. Pour la programmation du shell Bourne, nous nous en tiendrons à #!/bin/sh.

La troisième ligne exécute une commande : echo, avec deux paramètres ou arguments – le premier est "Hello"; le second est "World".
Notez que echo mettra automatiquement un seul espace entre ses paramètres.
Le symbole # marque toujours un commentaire; le # et tout ce qui suit est ignoré par le shell.

exécutez maintenant chmod 755 first.sh pour rendre le fichier texte exécutable, et exécutez ./first.sh.
Votre écran devrait alors ressembler à ceci:

$ chmod 755 first.sh
$ ./first.sh
Hello World
$

Vous vous y attendiez probablement! Vous pouvez même simplement exécuter:

$ echo Hello World
Hello World
$

Maintenant, faisons quelques modifications.
Tout d’abord, notez que echo met UN espace entre ses paramètres. Mettez quelques espaces entre « Bonjour » et « Monde ». Qu’attendez-vous de la sortie? Qu’en est-il de mettre un caractère de tabulation entre eux?
Comme toujours avec la programmation shell, essayez-le et voyez.
La sortie est exactement la même! Nous appelons le programme echo avec deux arguments; cela ne se soucie pas plus que cp ne concerne pas les espaces entre eux.Maintenant, modifiez à nouveau le code:

#!/bin/sh
# This is a comment!
echo "Hello World" # This is a comment, too!

Cette fois, cela fonctionne. Vous vous y attendiez probablement aussi si vous avez l’expérience d’autres langages de programmation. Mais la clé pour comprendre ce qui se passe avec un script de commande et de shell plus complexe, est de comprendre et de pouvoir expliquer: POURQUOI?
echo a maintenant été appelé avec UN SEUL argument – la chaîne « Hello World ». Il imprime ceci exactement.
Le point à comprendre ici est que le shell analyse les arguments AVANT de passer themon au programme appelé. Dans ce cas, il supprime les guillemets mais passe la chaîne comme un seul argument.
Comme dernier exemple, tapez le script suivant. Essayez de prédire l’outcome avant de l’exécuter:

first2.sh

#!/bin/sh
# This is a comment!
echo "Hello World" # This is a comment, too!
echo "Hello World"
echo "Hello * World"
echo Hello * World
echo Hello World
echo "Hello" World
echo Hello " " World
echo "Hello "*" World"
echo `hello` world
echo 'hello' world

Tout est-il comme prévu? Sinon, ne vous inquiétez pas! Ce ne sont que quelques-unes des choses que nous allons couvrir dans ce tutoriel… et oui, nous utiliserons des commandes plus puissantes que echo!

Flux RSSPartager sur Twitter
Retour: Philosophie Suivant: Variables (Partie 1)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *