Les variables spéciales en shell

#$# $# Contient le nombre d’arguments passe a votre script #$* $* Contient la liste des paramètres passée au script #$@ Comme $* mais il prend en compte les espaces, on récupère donc les arguments sous forme de tableau. Par exemple pour ce code: for var in "$*" do echo $var; done test.sh "toto tata" tutu Donnera: toto tata tutu Alors que pour ce code: for var in "$@" do echo $var; done test.

Read more...

Les fonctions en script shell

Pour creer une fonction il suffit de mettre le nom de la fonction suivi de () puis le code de la fonction. mafonction() * code de la fonction * L’appel à la fonction dans le code se fera en tapant: mafonction argument1 argument2 #Les arguments La gestion des arguments se fait comme pour les arguments passe au script shell : on retrouve les parametres de notre fonction dans les variables $1, 2…

Read more...

Programmation shell avancée (If, While et For)

#IF La builtin if permet de tester la reussite d’une commande. Apres le if vous devez mettre un then, puis un fi a la fin de votre bloc. else permet d’utiliser un bloc alternatif au bloc then. Mais un exemple est beaucoup plus clair : #!/bin/sh if cat noplay.txt then echo Le cat du fichier noplay.txt a reussi elif cat test.txt then echo Le cat du fichier noplay.txt n a pas reussi mais le cat de test.

Read more...

Pipes et redirections

Les pipes et les redirections sont des «commandes» très utiles à connaître lorsque l’on utilise un système UNIX. En effet ces «commandes» permettent par exemple de rediriger ce qu’affiche un programme à l’ecran vers un autre programme. Il existe 4 redirections et un pipe dans les shells Unix. #Rappel sur les sortie et entree standard L’entrée standard est le clavier, ce que tape l’utilisateur. La sortie standard est l’ecran. La sortie d’erreur est l’ecran aussi mais est independante de la sortie standard.

Read more...

Ecrire un script shell

Le shell est un véritable langage de programmation. Il permet grâce à des scripts de faire de nombreuses manipulations bien sympathiques. Un script shell permet d’executer une série de commandes Linux, tout en y insérant des structures de contôle (IF par exemple), des boucles (FOR, WHILE, …) et donc des variables. #Les bases Tout script sh doit commencer obligatoirement par cette ligne : _ bash#!/bin/sh _ Cela permet d’indiquer qu’il faut utiliser sh (donc shell) pour interpreter le script.

Read more...