Résolution de scripts shell

mad skillz Messages postés 201 Statut Membre -  
mad skillz Messages postés 201 Statut Membre -
Bonjour,
qqn peut résoudre ces exercices pliiiiz ? :D
-->Vous devez afficher le nombre d’arguments passés à votre script. Si aucun argument n’est passé au script, vous ne devez rien afficher et votre programme doit retourner 1.

-->Vous devez créer un script qui affiche les n premiers chiffres impaires sur la sortie standard, où n est le premier argument passé à votre script. Si le nombre d’arguments passés est différent de 1 vous devez suivre le comportement décrit dans l’exemple ce-dessous. Si l’argument 1 n’est pas un nombre, suivez l’exemple (aussi).

-->Vous devez coder une fonction qui prend un seul et unique argument n ( 3) et qui construit Un sapin. La largeur du tronc doit etre de 1, peu importe la longueur.
A voir également:

18 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
0
PyNux
 
jipicy - 22 sec.
Trop fort !

;-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896 > PyNux
 
Chuuutttt, c'est secret ;-))
0
FlorianWebmastering Messages postés 281 Statut Membre 20
 
Nous sommes là pour vous aider, pas pour mâcher pour vous le travail et vous le régurgiter dans le gosier.

à bon entendeur.
0
mad skillz Messages postés 201 Statut Membre 15
 
bn premièrement sé po un exercice ! sé une préparation deuxiemement jé déja résolu les exos mais il reste qqs lacunes -_- sé pour ça que jé déposé ces exos pour voir la différence entre mon shit et le shit des autres!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Merci de bien vouloir rédiger vos messages dans un langage c­ompréhensible par tous...

Donc, de faire un effort ! ;-((
0
FlorianWebmastering Messages postés 281 Statut Membre 20
 
Bien dans ce cas postez vos codes, nous vous aideront à les corriger, ou à les améliorer.
0
mad skillz Messages postés 201 Statut Membre 15
 
ok!
à commencer par le premier .
#! /bin/bash
test -s $#
if [$#=0]
then
echo 1
else
echo $#
fi
0
FlorianWebmastering Messages postés 281 Statut Membre 20
 
Okay !
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Non pas Okay ;-(

Vous devez afficher le nombre d’arguments passés à votre script. Si aucun argument n’est passé au script, vous ne devez rien afficher et votre programme doit retourner 1.
#! /bin/sh

#set -xv

if [ "$#" != 0 ]
then
echo "Nombre d'arguments : " $#
else
exit 1
fi
Serait plus en rapport avec l'énoncé, non ?
0
mad skillz Messages postés 201 Statut Membre 15
 
ouépp ;) dééja ils ont di dans l'énoncé qu'il faut utiliser exit ;) merci
0
mad skillz Messages postés 201 Statut Membre 15
 
pr le deuxieme j'arrive pa a bien formuler le script :( jé déja fait l'algorithme mais je trouve des problèmes avec "la division entière etc.."
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Même topo que précédemment, affiches déjà ce que tu as fait !
0
mad skillz Messages postés 201 Statut Membre 15
 
la ligne : #set -xv à quoi sert elle ?
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Si on la décommente, ça permet de rendre le script plus verbeux et de voir l'interprétation des variables par le shell, causes de nombreux soucis ;-(
0
mad skillz Messages postés 201 Statut Membre 15
 
pour le premier script lorsque je tappe aucun argument il affiche pas le !
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
C'est normal, pour le voir il faut taper dans le shell d'où tu as lancé le script :
echo $?
0
mad skillz Messages postés 201 Statut Membre 15
 
oui je l'ai déja fait mais ça affiche "0" et non pas la valeur 1 :/
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
[tmpfs]$ ./mad.sh 1
Nombre d'arguments :  1

[tmpfs]$ echo $?
0

[tmpfs]$ ./mad.sh

[tmpfs]$ echo $?
1
[tmpfs]$  
0
mad skillz Messages postés 201 Statut Membre 15
 
"Si aucun argument n’est passé au script, vous ne devez rien afficher et votre programme doit retourner 1"
d'après ce que j'ai compris ils veulent dire que lorsque on exécute le script sans aucun argument il doit afficher le "1" non ? sé pa ça ?
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
votre programme doit retourner 1"
Ben c'est ce qu'il fait quand on le lui demande ;-)

Ou alors tu stockes la valeur dans une variable et tu l'affiches :
[tmpfs]$ cat mad.sh
#! /bin/sh

#set -xv

if [ "$#" != 0 ]
then
echo "Nombre d'arguments : " $#
retval="$?"
else
retval="$?"
fi

echo "Code de retour de la fonction1 : " $retval

[tmpfs]$ ./mad.sh 1 2 3
Nombre d'arguments :  3
Code de retour de la fonction1 :  0

[tmpfs]$ ./mad.sh
Code de retour de la fonction1 :  1

[tmpfs]$   
0
mad skillz Messages postés 201 Statut Membre 15
 
pour l'exercice su sapin voila jé pu le faire en C mais j'arrive carrément pas à le coder en shell script :/
void sapin(N)
{

int i,b,j,k;

for(b=0;b<2;b++)
	{
	 for(i=0;i<n;i++)
	  {
	   for(j=0;j<n-i-1;j++)
		printf(" ");
	   for(k=0;k<(i*2)-+1;k++)
	        printf("*");
	  }
	}
for(i=0;i<5;i++)
	{
	 for(j=0;j<(n/2)+1;j++)
	  printf(" ");
	  printf("*\n");
	}
}
*void sapin(N)
{

int i,b,j,k;

for(b=0;b<2;b++)
	{
	 for(i=0;i<n;i++)
	  {
	   for(j=0;j<n-i-1;j++)
		printf(" ");
	   for(k=0;k<(i*2)-+1;k++)
	        printf("*");
	  }
	}
for(i=0;i<5;i++)
	{
	 for(j=0;j<(n/2)+1;j++)
	  printf(" ");
	  printf("*\n");
	}
}
0