Téléchargement
illégal
Posez votre question Signaler

Deux exercices de scripts shell à résoudre [Résolu]

sadiqmrd - Dernière réponse le 4 juin 2011 à 20:30
Bonjour,
Exercice 1:
écrire un script shell qui prend en argument un nombre et renvoie son inverse sinon renvoie une erreur si le nombre d'arguments est différent de 1.
exemple : 123 ---> 321
voilà mon travail mais ça marche pas :
#!/bin/bash
a=0
b=0
if [ $# -ne 1]
then
echo "ereur"
else
until [ $a -eq 0 ]
do
a=$(($1/10))
b=$(($1%10))
echo -n "$b"
done
fi
Exercice 2:
écrire un script shell avec des boucles qui affiche :
1
22
333
4444
55555
ce que j'ai fait mais ça marche pas aussi :
#!/bin/bash
i=0
j=1
nbr=5
while [ $i -le $nbr ]
do
while [ $j -le $i ]
do
echo -n "$i"
j=$(($j+1))
done
i=$(($i+1))
echo -e "\n"
done
aidez-moi à les résoudre s'il vous plait , j'attends vos réponses , et merci d'avance
Lire la suite 

Deux exercices de scripts shell à résoudre »

3 réponses
Réponse
+1
moins plus
Salut,

Le problème dans ces cas là c'est qu'on ne sait absolument pas les commandes que tu as déjà vues, celles que tu as droit d'employer ou pas ;-\

Pour le 1, une simple commande du bash fait ça normalement, mais je ne sais pas si tu as droit ou pas ;-\

Pour le 2, c'est juste une erreur dans la déclaration de ta variable "$j". Il faut la déclarer une fois que tu es rentré dans la 1ère boucle et non avant, sans quoi elle garde sa dernière valeur de comparaison et ne repart pas de "1" ;-\
De même la variable "$i" doit partir de "1" et non de "0" ;-)

#!/bin/bash
i=1
nbr=5
while [ $i -le $nbr ]
do
j=1
while [ $j -le $i ]
do
echo -n "$i"
j=$(($j+1))
done
i=$(($i+1))
echo
done 

Ajouter un commentaire
Réponse
+1
moins plus
merci pour le 2 ça marche :)

c'est pas grave, donnez-moi cette commande :D
qqchquicommenceparQ- 4 juin 2011 à 20:30
salut,

rev n'est pas une commande interne du Bourne Again SHell.
Ajouter un commentaire
Ce document intitulé « deux exercices de scripts shell à résoudre » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?