Script shell

arizonadream88 Messages postés 2 Statut Membre -  
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
Bonjour,
J'ai un petit probleme depuis hier soir je me pren la tête sur un tp d'informatique sur le script shell.
Je dois réussir à faire un programme qui affichera un rectangle d'étoile en utillisant les boucles while et éventuellement une fonction.
Voilà ce que ca doit donner :
$etoile.sh 4 5
****
****
****
****
****

je me suis déja bien pris la tête je pense que ce qui s'approch le plus du programme final est quelque chose comme ça :
n=0
m=0
fonct()
{
while [ $n -lt $1 ]
do
n=$(($n + 1))
echo -n "*"
done
echo""
}
while [ $n -lt $2 ]
do
fonct $2
done

Mais ca ne fonctionne pas ....
merci d'avance
A voir également:

3 réponses

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,
lami20j@debian:~$ cat etoile.sh
#!/bin/bash

i=0
j=0
while [ $j -lt $2 ]
do
  while [ $i -lt $1 ]
    do
      echo -n "*"
      i=$((i+1))
    done
  i=0
  echo
  j=$((j+1))
done

lami20j@debian:~$ sh etoile.sh 4 5
****
****
****
****
****
0
arizonadream88 Messages postés 2 Statut Membre
 
Merci bien je vais essayer de comprendre comment tu as fais maintenan :-)
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Re,

pour comprendre l'exécution, tu peux mettre un sleep
#!/bin/bash

i=0
j=0
while [ $j -lt $2 ]
do
  while [ $i -lt $1 ]
    do
      echo -n "*"
      sleep 0.2
      i=$((i+1))
    done
  i=0
  echo
  j=$((j+1))
done
0