Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/09/2012, à 11:48

DonutMan75

[Résolu] Commande $* (livre de Christophe Blaess)

Bonjour à tous,

je lis actuellement le livre "Shells Linux et Unix par la pratique" de Christophe Blaess (édtion Eyrolles) et je bloque sur le script suivant (chapitre 3, page 65 pour ceux qui ont le livre) :

affiche_arguments_5.sh

#! /bin/sh

. :affiche_arguments_5.sh $*

Il donne ensuite un exemple d'éxecution :

$ ./affiche_arguments_5.sh un deux trois
0 :./affiche_arguments_5.sh
1 :un
2 :deux
3 :trois
$

Je ne comprends pas du tout ce code.
Chez moi l'exécution du script ne fonctionne d'ailleurs pas :

$ ./affiche_arguments_5.sh un deux trois
.: 3: :affiche_arguments_5.sh: not found
$

Ce que je comprends de la ligne . :affiche_arguments_5.sh $* :
- Le "." signifie source
- Le ":" signifie que la commande n'est pas exécutée
- Le $* contient l'ensemble des arguments transmis sur une seule ligne

Quelqu'un peut-il m'aider là-dessus ?

Merci d'avance

Donut

Dernière modification par DonutMan75 (Le 05/09/2012, à 14:30)

Hors ligne

#2 Le 04/09/2012, à 13:59

mloupiot

Re : [Résolu] Commande $* (livre de Christophe Blaess)

Bonjour,
as-tu donné des droits d’exécution à ton fichier "affiche_arguments_5.sh" ?

Hors ligne

#3 Le 04/09/2012, à 14:40

serged

Re : [Résolu] Commande $* (livre de Christophe Blaess)

T'es sûr que c'est avec bash ?


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#4 Le 04/09/2012, à 14:47

DonutMan75

Re : [Résolu] Commande $* (livre de Christophe Blaess)

Bonjour,
j'ai trouvé l'extrait du bouquin ici :
Extrait

Qu'en pensez-vous ?

Hors ligne

#5 Le 04/09/2012, à 15:07

iuchiban

Re : [Résolu] Commande $* (livre de Christophe Blaess)

as tu crée le script affiche_arguments_5.sh avec le code donné ??

#!/bin/sh
while ...
do

done

C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#6 Le 04/09/2012, à 15:59

DonutMan75

Re : [Résolu] Commande $* (livre de Christophe Blaess)

Bonjour,
le while/do est utilisé pour la fonction affiche_arguments_4.sh et il fonctionne bien.
Je ne comprends pas du tout le script détaillé dans affiche_arguments_5.sh.... hmm

A moins que.... il ne s'agisse d'une coquille et que, en réalité, affiche_arguments_5.sh appelle affiche_arguments_4.sh ?

Hors ligne

#7 Le 04/09/2012, à 16:40

thib1984

Re : [Résolu] Commande $* (livre de Christophe Blaess)

Bonjour à toi,
que donnerait l'éxecution du code sans l'évenutelle coquille?

Edit : dans tous les cas, il me semble que dans l'état actuel le script s'appelerait lui-même, ca sent pas bon sad

Dernière modification par thib1984 (Le 04/09/2012, à 16:58)

Hors ligne

#8 Le 05/09/2012, à 14:22

iuchiban

Re : [Résolu] Commande $* (livre de Christophe Blaess)

Pardon, j'avais pas vu le code de argument5.
Et là, c'est vrai que je ne le comprends pas vraiment.

Je pense qu'il y a effectivement une coquille dans cette partie (notamment quand il appelle le script avec un deux "trois et quatre", je vois pas la différence)


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#9 Le 05/09/2012, à 14:28

DonutMan75

Re : [Résolu] Commande $* (livre de Christophe Blaess)

Bonjour,
il s'agit vraisemblablement d'une coquille donc. Mais je voulais être sûr que je n'avais pas compris de travers.

Merci pour votre aide wink

Hors ligne

#10 Le 05/09/2012, à 15:06

iuchiban

Re : [Résolu] Commande $* (livre de Christophe Blaess)

sinon tu peux regarder à partir de là : http://abs.traduc.org/abs-fr/ch09.html#arglist et les deux points suivant pour voir le comportement de $* et $@


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne