Script shell

arizonadream88 Messages postés 2 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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
Configuration: Linux
Firefox 2.0.0.11

3 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  2. arizonadream88 Messages postés 2 Statut Membre
     
    Merci bien je vais essayer de comprendre comment tu as fais maintenan :-)
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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