IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unix Discussion :

Question sur caractere dans un script


Sujet :

Unix

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2009
    Messages : 66
    Points : 36
    Points
    36
    Par défaut Question sur caractere dans un script
    Bonjour,

    Dans un script, j'ai un $# et $? et j'ai beau cherché sur le net je ne vois rien.
    Pourriez vous me donner un coup de main?

    Merci d'avance,

    Rouget

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    man bash
    ...
    # Expands to the number of positional parameters in decimal.
    ? Expands to the status of the most recently executed foreground
    pipeline.
    ...
    $# est le nombre de paramètres $1, $2, $3 qui ont été passé à ton script ou a ta fonction.

    $? est le status de la dernière commande exécutée.

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par matafan Voir le message
    $# est le nombre de paramètres $1, $2, $3 qui ont été passé à ton script ou a ta fonction.

    $? est le status de la dernière commande exécutée.
    je précise juste que $? vaut zéro si elle se déroule bien (c'est le standard)

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2009
    Messages : 66
    Points : 36
    Points
    36
    Par défaut
    Bonjour et merci de vos réponses.
    par contre je ne comprends pas:
    $# est le nombre de paramètres $1, $2, $3 qui ont été passé à ton script ou a ta fonction
    Le terme "passé" m'inspire pas vraiment!!!
    Sans vouloir exagérer, est ce que vous pourriez developper?

    Merci d'avance,

    Rouget

  5. #5
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Quand tu appèles un script avec "./script arg1 arg2 arg3" ou une fonction avec "function arg1 arg2 arg3", les arguments arg1, arg2 et arg3 sont passés dans les variables spéciales $1, $2 et $3 (qu'on appèles "positional parameters"). S'il y a N arguments, il a N positional parameters, et $# vaut N.

  6. #6
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par matafan Voir le message
    Quand tu appèles un script avec "./script arg1 arg2 arg3" ou une fonction avec "function arg1 arg2 arg3", les arguments arg1, arg2 et arg3 sont passés dans les variables spéciales $1, $2 et $3 (qu'on appèles "positional parameters"). S'il y a N arguments, il a N positional parameters, et $# vaut N.
    petit exemple pour compléter et illustrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #!/bin/ksh
     
    displayParam() {
        echo "parameter $1 is $2"
    }
     
    echo "$0: there is $# parameters"
     
    x=0
    for i in $*
    do
       let x=x+1
       displayParam $x $i
    done
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $ ./args.ksh a b c 
    ./args.ksh: there is 3 parameters
    parameter 0 is a
    parameter 1 is b
    parameter 2 is c
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2009
    Messages : 66
    Points : 36
    Points
    36
    Par défaut Merci!!!
    Merci matafan et jabbounet.
    Je pense que l'on ne peut pas etre plus claire...meme si j'avoue que j'ai du mal à l'assimiler.

    Merci encore d'avoir passer de votre temps!!!

    Rouget.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question sur Graphique dans état
    Par Ric21 dans le forum VBA Access
    Réponses: 9
    Dernier message: 15/05/2008, 08h19
  2. question sur TableDestination dans macro TCD
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/06/2007, 15h31
  3. [VBA-E] Question sur image dans userform ?
    Par damsmut dans le forum Excel
    Réponses: 3
    Dernier message: 04/04/2007, 05h32
  4. Réponses: 2
    Dernier message: 04/12/2005, 21h10
  5. Réponses: 10
    Dernier message: 24/02/2005, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo