Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1535 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  SH/BASH Petite question avec des -param

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SH/BASH Petite question avec des -param

n°877681
HDSDI
Posté le 12-01-2007 à 22:16:58  profilanswer
 

Bonjour/bonsoir à tous.
 
J'ai une petite question par rapport a une technique de programmation:
Comment dans un programme sh, récuperer la valeur d'un paramètre nommé ?
Exemple: ./programme.sh -param1 valeur1 -param2 valeur2
Et récupérer la valeurX d'un -paramX même si ils sont inversés ou inexistants.
 
Parce que si je peut récupérer $1 $2 $3... je ne pourais pas savoir si il a des inversions ou des innexistants.
 
Je ne pense pas que ça doit être dur, mais j'ai pas envie de réinventer la lune pour un truc aussi classique !  :sol:  
 
HDSDI
 
Si je suis pas assez clair, dites le moi !

mood
Publicité
Posté le 12-01-2007 à 22:16:58  profilanswer
 

n°877702
ph75
Posté le 13-01-2007 à 01:20:01  profilanswer
 

Utiliser "getopts"
 
Exemple:
 

# affiche l'aide
function print_usage
{
    echo "$1 [-l NIVEAU] [-d DOSSIER] [-u UNITE] [-s TAILLE_MINIMALE]"
}
 
# options
while getopts "hl:d:u:s:" opt ; do
    case $opt in
        u ) SIZEU=$OPTARG ;;
        l ) LEVEL=$OPTARG ;;
        s ) MIN_SIZE=$OPTARG;;
        d ) DIR=$OPTARG;;
        h ) print_usage $0
            exit 0 ;;
        * ) echo "Mauvais paramètre $opt"
            print_usage "$0"
            exit 1 ;;
    esac
done


Message édité par ph75 le 13-01-2007 à 01:20:36
n°877750
HDSDI
Posté le 13-01-2007 à 12:51:35  profilanswer
 

Merci !
 
Dans les parametre du while tu a un h1, puis en dessous tu recupere le h, pourquoi faire ?

n°877751
ph75
Posté le 13-01-2007 à 12:54:56  profilanswer
 

Ce n'est pas h1: mais hl:, la lettre "l".
Et ca se lit plutôt:    h  ,   l:  ,  d:  ,  u: ,  s:
-> les ":" indiquent qu'une valeur est attendue.
Donc dans l'exemple le "h" est l'afichage de l'aide, etr pas besoin de valeur évidemment.


Message édité par ph75 le 13-01-2007 à 12:56:02
n°877753
l0ky
Posté le 13-01-2007 à 13:04:46  profilanswer
 

man getopts ?

n°877755
ph75
Posté le 13-01-2007 à 13:24:26  profilanswer
 

C'est une commande "builtin" du shell, donc man du shell.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  SH/BASH Petite question avec des -param

 

Sujets relatifs
Pour les pro du script bash - Supprimer les fichiers < 1kQuestion rapide : lancement automatique de beryl
Comment interrompre un compte à rebours ? [BASH/UNIX]Question sur config openwrt + wpa 1/2 entreprise
[question] corbeil[Résolu]Question sur les fonctions
petite question sur IptableQuestion recurtion DNS (Bind9)
PicOS18 pour PIC18, ou autre RTOS -> question pour les connaisseurs 
Plus de sujets relatifs à : SH/BASH Petite question avec des -param


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR