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

Shell et commandes GNU Discussion :

Verifier arguments au lancement d'un script shell


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 99
    Par défaut Verifier arguments au lancement d'un script shell
    Bonjour à tous,

    J'ai une interrogation à propos des arguments et aussi de leurs vérifications au moment de lancer un scripts

    voici comment je mets en places mesarguments dans un script :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    while (( "$#" ))
    	do
    		re='^-[a-z]$'
    		echo $1
    		if ! [[ $1 =~ $re ]]
    		then
    			echo "error"
    			exit 1
    		else
    			case $1 in
    				-f) file_arg=$2 
    					if [ -z $file_arg ]
    					then
    						echo -e " [${Orange}Warn${NOCOLOR}] Fichier non renseigner\n------Sortie du script------"
    						exit 1
    					fi; shift 2 ;;
    				-s) schema_source=$2 
    					if [ -z $schema_source ]
    					then
    						echo -e " [${Orange}Warn${NOCOLOR}] Schema source non renseigner\n ------Sortie du script------"
    						exit 1
    					fi; shift 2 ;;
    				-d) schema_dest=$2 
    					if [ -z $schema_dest ]
    					then
    						echo -e " [${Orange}Warn${NOCOLOR}] Schema destination non renseigner\n ------Sortie du script------"
    						exit 1
    					fi; shift 2 ;;
    				-i) auto_import=$2 
    					if [ -z $auto_import ]
    					then
    						auto_import="n"
    					fi; shift 2 ;;
    				-h) help; exit 1;;
    				*) echo "attention" ; shift ;;
    			esac
    		fi
    	done
    echo "totototo"
    Du coup je fais une première verification pour détecter que l'argument est bien de la forme -[a-z]. par contre je n'arrive pas a faire sortir du script quand par exemple on a ca au lancement : et donc s'il manque un -[a-z] obligatoire (càd tous sauf le -h)

    j'ai tester plusieurs chose mais aucune fonctionne

    je vous remercie d'avance pour vos lumières

    Cordialement.

  2. #2
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Juillet 2019
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 141
    Par défaut
    bonjour,
    un exemple
    un tuto
    tu t'embêtais pour rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    funct (){
    	OPTIND=1
    	while getopts :f: opt; do
    		case "$opt" in
    			f) fic="$OPTARG"
    				[ ! -f "$fic" ] && {
    					echo "fichier [$fic] invalide"; break
    				} ;;
    			*) echo "autre" ;;
    		esac
    	done ; shift "$((OPTIND-1))"
    	[ -f "$fic" ] && cat "$fic"
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $ funct -f tata
    fichier [tata] invalide
    $ echo "test tata" > tata
    $ funct -f tata
    test tata

Discussions similaires

  1. Script Shell : Lancement d'un service java
    Par sebo13 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 21/08/2008, 12h13
  2. Vérification des arguments d'un script(shell)
    Par Info_76 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/03/2008, 19h10
  3. Réponses: 4
    Dernier message: 24/12/2007, 16h26
  4. Un script shell avec nombre d'argument variable
    Par lastrecrue dans le forum Linux
    Réponses: 1
    Dernier message: 28/05/2006, 11h35
  5. Script shell (argument)
    Par melmouj dans le forum Linux
    Réponses: 2
    Dernier message: 17/01/2006, 16h42

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