#!/usr/bin/bash # boucle for # help for # parcourir une liste d'éléments for os in windows linux mac ; do echo $os done echo # avec les arguments du script if [ "$#" -gt 0 ]; then for arg in $@; do echo $arg done else echo "Pas d'argument passé au script !" fi echo # {debut..fin..pas} for i in {0..10..2} ; do echo $i done echo #multiplication read -p "Entrez une table de multiplication : " multiplicateur for i in {1..10}; do echo "$i x $multiplicateur = $((i*multiplicateur))" done echo # palindrome (sans la commande rev) # voir exemple3 # en utilisant la syntaxe du C : (( ; ; )) . Permet d'utiliser des variables read -p "Choisisez un palindrome : " rep pal=$(echo $rep|tr [A-Z] [a-z]) for ((i = ${#pal} ; i > 0 ; i--)); do rev=${pal:${#pal}-$i:1}$rev done echo "L'inverse de $pal est $rev" if [ $rev = $pal ]; then echo "$rep est un palindrome" else echo "$rep n'est pas un palindrome" fi echo # commandes sur des fichiers for fichier in * ; do wc -l $fichier done echo # écrire et lire un fichier cat > fichier << EOF première ligne deuxième ligne troisième ligne EOF monfichier=$(cat fichier) for ligne in $monfichier; do echo $ligne done echo # IFS : Internal Field separator par défaut : nouvelle ligne, tabulation, espace IFS=$'\n' for ligne in $monfichier; do echo $ligne done echo unset IFS rm fichier # taches parallèles en arrière plan : for i in {1..254}; do ip=192.168.2.$i ping -c1 $ip >/dev/null && echo $ip : ok & done wait