Files
SCR/SCR1.2/TP08/Reponses.txt
2025-03-24 11:36:01 +01:00

88 lines
1.6 KiB
Plaintext

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 : signifie fin du fichier entrée standard). Alors :
echo "$? x=$x" ; affiche --> 1 x=