script bash

Bash : lire un fichier ligne par ligne avec une boucle while

Encore une fois, rien ne vaut l’apprentissage par l’exemple. Ci dessous le fichier bash exemple, qui va lire le fichier /etc/passwd ligne par ligne.

[bash]#!/bin/bash
while read line
do
echo ${line}
done < /etc/passwd[/bash]

donc ici, les lignes sont chargées dans la variable « line » et simplement affichées par la commande echo, mais on peut utiliser ça dans bien des situations ;)

Note : Pour fonctionner, ce fichier doit être appelé par la commande [bash]sudo sh fichier.sh[/bash] ou, en le rendant exécutable après enregistrement, comme suit :

[bash]chmod +x fichier.sh[/bash]

Puis est lançable directement :

[bash]sudo ./fichier.sh[/bash].

On utilise ici « sudo » car il y a des chances que ce fichier ne soit accessible que par le compte root.

Loading

Tags: , , , , , , ,

jeudi, octobre 14th, 2010 Bash, GNU - Linux, Technologie Aucun commentaire

Bash – les boucles for

Voici quelques exemples des boucles "FOR" en bash, car, rien ne vaut les exemples pour apprendre.

Pour tester ces exemples, créer un fichier test.sh et le commencer par :

[bash] #!/bin/bash
#Ceci defini l’interpreteur[/bash]

Puis coller les exemples désirés, et rendez le fichier exécutable : chmod +x test.sh, et le lancer : ./test.sh

Executer une boucle for sur le contenu d'un dossier :
[bash] for i in `ls`; do
echo "ligne : "$i;
done [/bash]

Executer une boucle for sur un compteur croissant :
[bash] for (( i=1; i<=10; i++ ))
do
echo "Compte : "$i;
done[/bash]

Executer une boucle for sur un compteur décroissant :
[bash]nb_min=0
for (( i=10; i>=${nb_min}; i– ))
do
echo "Decompte : "$i;
done[/bash]

Voila voila ! J'espère que ça vous sera utile :)

Loading

Tags: , , , , , , ,

jeudi, octobre 14th, 2010 Bash, GNU - Linux, Technologie Aucun commentaire