From f472fe2ffb102bca3aa9d191fb728e563148f8ba Mon Sep 17 00:00:00 2001 From: jerome Date: Thu, 7 Mar 2024 17:06:12 +0100 Subject: commit initial --- exemple8 | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100755 exemple8 (limited to 'exemple8') 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 + + -- cgit v1.2.3