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

Bash : strlen var – longueur d’une chaine dans une variable

C'est un simple petit mémo pour ceux qui machent du "bash" :D

Pour ceux qui sont habitués à la fonction "strlen" en php, on peut la chercher en bash alors voici simplement comment faire par l'exemple :

(Testable dans une console directement) :

Chargement de la variable :
[bash]mavar="tatayoyo"[/bash]

Affichage du contenu de la var :
[bash]echo ${mavar}[/bash]

Affichage de la longueur de la chaine contenue dans ma variable :
[bash]echo ${#mavar}[/bash]

Et voila, c'est tout bête, mais il faut le savoir. Ensuite pour par exemple stocker la longueur dans une autre var :
[bash]moncpt=${#mavar}[/bash]

Mais bon, ça c'etait evident ;)

Loading

Tags: , , , , , ,

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