1.
La commande seq 5 permet de faire afficher une sequenciel jusqu'a 5.

La commande seq 7 permet de faire afficher une sequenciel jusqu'a 7.

a)
for ((i=1;i<=5;i++));do echo $i;done
1
2
3
4
5

La ligne de commande permet de la même chose que seq 5.
for ((i=1;i<=7;i++));do echo $i;done
1
2
3
4
5
6
7
La ligne de commande permet la même chose que seq 7.

b)
Dans un fichier je place les lignes de commandes:

for ((i=1; i<=$1; i++)); 
     do echo $i
done 

puis j'écrit chmod +x my_seq.sh dans le terminal puis ecrit ./my_seq.sh 45 et sa affiche la liste de 1 a 45

2)
On place dans un fichier qui se nomme mult_mat.sh

#!/bin/bash

if [[ $# -lt 2 ]]
then
   echo "Usage : $0 <NUM_ARG1> <NUM_ARG2>"
   exit
fi
   for((i=$1;i<=$2;i++))
   do
   for ((j=$1;j<=$2;j++))
   do
       echo -n "$((i*j)) "
   done
   echo -e "\n"
done
    exit

3)
a)
On place dans un fichier qui se prénome bin2dot-with-for.sh les lignes de commandes suivantes:

if [[ $# -lt 2 ]]
then echo "usage: $0 <SRC_FILE> <DEST_FILE>"
exit
fi

for addr in $(cat $1)
do
x=$(expr substr $addr 1 8)
y=$(expr substr $addr 9 8)
z=$(expr substr $addr 17 8)
t=$(expr substr $addr 25 8)
addr_dot=$((2#$x)).$((2#$y)).$((2#$z)).$((2#$t))
echo $addr_dot
done>$2

exit

b)
read x ; on saisit, disons 7 et on valide (<CR>). Tout de suite apr`es, on fait :
echo "$? x=$x". Elle affiche 0 x=7


On recommence avec read x, en tapant directement <CR>, sans rien saisir. Alors :
echo "$? x=$x" ; affiche --> 0 x=

On recommence avec read x, sans rien saisir et sans taper <CR> mais en tapant CTRL-D
(rappel : signiﬁe ﬁn du ﬁchier entrée standard). Alors :
echo "$? x=$x" ; affiche --> 1 x=


