diff options
Diffstat (limited to 'exemple08')
| -rwxr-xr-x | exemple08 | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/exemple08 b/exemple08 new file mode 100755 index 0000000..58aa59a --- /dev/null +++ b/exemple08 @@ -0,0 +1,85 @@ +#!/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 = 0; i <= ${#pal} ; i++)); do + rev=${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 + + |
