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

Linux Discussion :

Comment passer options et paramètres à un script ksh


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Par défaut Comment passer options et paramètres à un script ksh
    Bonjour,
    Je débute sur l'écriture de scripts avec ksh et je me pose la question suivante:
    Existe-t-il un moyen simple de récuperer les options et valeurs passées en paramètres à mon script ?
    Mon script est appelé de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ./monScript.ksh [-option1 valeur] [-option2 valeur]
    Comment faire pour récuperer la valeur d'une option si celle-ci est présente ? J'ai regardé un peu comment cela pourrait se faire avec getopts mais j'ai l'impression que cet outil ne permet que de traiter des 'flags' et pas des couples options-valeurs comme dans mon cas.

    Je suis tout à fait conscient que Perl, Python ou n'importe quel autre langage de script ferait bien mieux l'affaire sans doute mais je n'ai hélas pas le choix

    Merci par avance !

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Citation Envoyé par Seboss
    Bonjour,
    Comment faire pour récuperer la valeur d'une option si celle-ci est présente ? J'ai regardé un peu comment cela pourrait se faire avec getopts mais j'ai l'impression que cet outil ne permet que de traiter des 'flags' et pas des couples options-valeurs comme dans mon cas.

    Je pense que tu as parcouru un peu trop rapidement le man de getops
    Extrait de : http://www.shellunix.com/ksh.html#Getopts


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Option avec arguments (et gestion des erreurs) 
    Pour permettre de saisir un paramètre apres une option, il suffit de rajouter : après l'option concernée
    La variable OPTARG contient le paramètre Si l'utilisateur omet le paramètre, getops renvoie : et OPTARG l'option concernée. 
    while getops :y: argument
    do
    	case $argument in
    		y) ... ; arg=$OPTARG;;
    		:) echo " l'option -$OPTARG a besoin d'un argument " ; exit ;;
    		\?) ... ; exit ;;
      	esac
    done

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Par défaut
    Mon soucis est que getopts ne peut travailler que sur des options composées d'un seul caractères. Genre '-h' et pas '-help' par exemple. Je me gourre peut-être mais je me suis débrouillé autrement de toute façon
    Merci !

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/04/2012, 11h41
  2. Comment passer une variable jsp à un script ?
    Par MAJIK_ENIS dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 28/05/2006, 20h50
  3. Comment passer des argument a un script php ?
    Par Florina dans le forum Linux
    Réponses: 2
    Dernier message: 11/12/2005, 14h38
  4. [script SQL]comment passer des parametres a un scrip sql?
    Par la7su dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/03/2005, 10h55
  5. Réponses: 7
    Dernier message: 30/12/2004, 12h01

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