diff options
Diffstat (limited to 'exemple8')
| -rwxr-xr-x | exemple8 | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/exemple8 b/exemple8 new file mode 100755 index 0000000..3c64531 --- /dev/null +++ b/exemple8 @@ -0,0 +1,75 @@ +#!/usr/bin/bash + +# boucle for +# help for +# parcourit une liste d'éléments +for os in windows linux mac ; do + echo $os +done +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 : " pal + +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 "$pal est un palindrome" +else + echo "$pal 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 + + |
