Bienvenue dans la programmation bash
Bienvenue dans la programmation bash shell linux.
Linux étant un noyau très petit et qui à l'origine n'avait pas d'interface graphique il fallait un moyen de communication entre l'utilisateur et le noyau. Ce moyen c'est la ligne de commande, une façon un peu austère, me direz vous, mais qui quand on connait la langue de la machine est incroyablement efficace. Un linuxien avertit vous rabachera souvent qu'en une ligne de commande il fait ce que vous faites en une trentaine de clic avec une interface graphique. Bref, nous ne somme pas là pour venter les mérites de l'un ou de l'autre mais pour essayer de comprendre un peu plus la communication avec le noyau.
Le bash est un langage interprêté ce qui signifie que dans un script le noyau va lire ligne après ligne et l'interprêter avant de pouvoir executer la commande à laide du ou des processeur(s). Contrairement au langage C par exemple il n'y a pas de phase de compilation pour transformer le code en langage directement compréhensible par le processeur. Cela rend l'execution d'un script beaucoup plus lente que celle d'un programme si l'on compare en terme de nombre de ligne de code. Cependant on ne cherche pas vraiment la performance de ce côté lorsqu'on utilise le script bash; on cherche plutôt à automatiser des tâches répétitives.
La puissance du bash lui est donné par les outils qu'il a à sa disposition. Pour ne citer que quelques uns: ls, cat, cut, grep, find, sed, awk... Certain outils sont simple d'autres plus complexes. En vous lançant dans la programmation bash il vous faudra souvent chercher dans les page man pour trouver comment utiliser ces différentes commandes qui sont en fait de petits programmes.
N'oubliez pas que le bash script n'est toujours qu'une rustine et ça n'est pas la panassée, loin de là. Il est fort probable que la plupart des script que vous écrirez et qui vous seront vraiment utiles ne feront pas plus d'une dizaine de lignes.
En tout cas amusez-vous bien mais restez vigilant: le bash reste puissant et les bêtises ont d'autant plus de conséquences.