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 :)
![]()
Ajouter une route sous GNU/Linux en IPV4
Encore un "tips", pour ceux qui souhaitent ajouter une route sur une machine GNU/Linux.
Voici la commande :
[bash]route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.25[/bash]
Explication de l'exemple :
ici l'ip 192.168.1.0 correspond au réseau cible (celui pour lequel on va définir la route par laquelle passer pour l'atteindre).
Le masque 255.255.255.0 (/24) est le masque du reseau cible (il défini la plage d'adresse utilisable dans le reseau cible).
Enfin, 192.168.0.25 est la machine assurant le routage (un routeur, ou une machine sous Linux configurée pour cela).
En gros, verbalement ça donne, en parlant au système : Si tu veux joindre le reseau 192.168.1.0, tu dois le demander à 192.168.0.25.
Attention, pour être routables, les réseaux ne doivent pas etre sur la même classe, ou , au moins, pas dans le même masque ! Sinon, c'est evidemment impossible à mettre en oeuvre.
L'utilité d'une telle commande est par exemple, de permettre l'interconnexion de réseaux dans le cadre d'utilisation de VPN pour faire communiquer 2 sites distants. Idéalement, l'ajout de route se fait sur le routeur par défaut (la passerelle) utilisée sur un reseau, ainsi l'ensemble des postes peuvent atteindre le réseau distant. Cependant, il arrive que certaines passerelles ne soient pas configurables de cette façon, et il faut donc ajouter la route sur chacun des postes devant utiliser l'accès à une route particulière.
Vous pouvez ajouter cette commande dans le fichier /etc/rc.local de votre machine (en le rendant executable s'il ne l'est pas chmod +x /etc/rc.local) et en utilisant de préférence le chemin complet
/sbin/route (car le binaire n'est par forcément dans le "PATH" par défaut).
![]()
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 ;)
![]()
Pages
- À propos
- Alexandre Blanc Experience or work background
- Connected=hacked, cloud=leak, why
- Keeping track for my speaking events / appearances
- My take on Zero Trust – SP 800-207
- Openvpn and pihole on OVH VPS Server FAQ
- Raspberry 3 router project FAQ
- Spotting LinkedIn fake profiles, the tail of industrial spying, should I trust this contact ?
Search this Site
Archive
- août 2026
- avril 2025
- juin 2024
- mai 2024
- mars 2024
- février 2022
- janvier 2022
- octobre 2021
- septembre 2021
- mai 2021
- octobre 2020
- juin 2020
- avril 2020
- avril 2019
- janvier 2019
- juin 2018
- mars 2017
- octobre 2016
- août 2016
- mai 2016
- septembre 2015
- mai 2015
- février 2015
- novembre 2014
- septembre 2014
- août 2014
- janvier 2013
- décembre 2012
- juillet 2012
- janvier 2012
- novembre 2011
- octobre 2011
- mai 2011
- avril 2011
- mars 2011
- février 2011
- janvier 2011
- décembre 2010
- novembre 2010
- octobre 2010
- septembre 2010