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 :

Script bash argument, paramètre !


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Louinux
    Homme Profil pro
    Ganil, Cyceron
    Inscrit en
    Décembre 2018
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ganil, Cyceron
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 52
    Par défaut Script bash argument, paramètre !
    Bonjour, oui je suis le nouveau...

    Alors voila, j'ai effectuer un script powershell comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # SCRIPT PARAM
    param([string] $arg1)
     
    if([string]::IsNullOrEmpty($arg1))#si arg1 est vide alors...
    {}
    elseif($arg1 -eq "schedule")#si arg est égale à schedule nana...
    {}
    Sauf que... sur bash comment on utilise les paramètre :'((((( ???

    j'ai commencé par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #VARS
    test=$1 #sachant que $1 est le premier paramètre (doc linux)
     
    if [$1=0]; then
    echo ""
    elif [$test=="schedule"] echo ""
    fi
    Ne marche pas évidement... Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 117
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 117
    Par défaut
    Citation Envoyé par Louinux Voir le message
    Bonjour, oui je suis le nouveau...
    Et tu n'as pas lu les règles, bien que les ayant acceptées...

    Citation Envoyé par Louinux Voir le message
    Sauf que... sur bash comment on utilise les paramètre :'((((( ???
    Et comment utilise-t-on le bouton CODE quand on poste du... code ? --> Règles

  3. #3
    Membre averti Avatar de Louinux
    Homme Profil pro
    Ganil, Cyceron
    Inscrit en
    Décembre 2018
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ganil, Cyceron
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 52
    Par défaut
    Et comment utilise-t-on le bouton CODE quand on poste du... code ? --> Règles
    Désolé il est vrai que je suis passé vite dessus... :$
    Cdlt

  4. #4
    Membre averti Avatar de Louinux
    Homme Profil pro
    Ganil, Cyceron
    Inscrit en
    Décembre 2018
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ganil, Cyceron
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 52
    Par défaut
    Merci pour les infos j'essaye ça de suite !!!

  5. #5
    Membre averti Avatar de Louinux
    Homme Profil pro
    Ganil, Cyceron
    Inscrit en
    Décembre 2018
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ganil, Cyceron
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 52
    Par défaut
    Après avoir apporter les changements que tu ma indiqué voici :
    CODE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/bin/bash
     
    #VARS
    #test=$1
     
    if [ $test=0 ]; then
    echo "non"
    elif [ "$test"="schedule" ]; then
    echo "ok"
    fi
    Le résultat est tjrs non peut importe que je mette un argument ou pas j'éxecute avec ./test.sh ou ./test.sh schedule le résultat et non or si je met l'argument schedule il devrait me retourner ok non ?

    Car j'ai un script qui backup avec rsync et robocpy pour Windows et sur powershell avec l'exemple que j'ai donné et qui marche justement si je met schedule la deuxième partie du script s’exécute et si je ne met pas d'argument il n'y que la première partie qui s’exécute.
    Merci d'avance

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    • Je n'ai pas écrit cela. Relis. Il y a une différence entre la comparaison arithmétique et la comparaison alphabétique.
    • Si tu veux tester un texte vide, pourquoi écris-tu 0 ? Écris un texte vide "".
    • De plus, si tu mets en commentaire l'affectation de la variable nommée "test" alors cette variable sera toujours vide.
    • C'était une bonne idée de récupérer $1 avant qu'il ne soit éventuellement écrasé.

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    Tu es très bien parti !

    Le crochet est un raccourci pour la commande test.
    Donc les espaces ne sont pas facultatifs.
    Il faut écrire:
    ou
    Pareil pour la suite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    elif [ "$test" = "schedule" ];then 
    echo ""
    Des espaces, pas de double égal et ne pas oublier le then.

    Pour plus d'infos, taper :

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 30/03/2018, 11h53
  2. Execution de script bash avec arguments
    Par moriceh dans le forum Langage
    Réponses: 5
    Dernier message: 26/07/2016, 17h13
  3. Changement de comportement du script bash si argument fourni
    Par mkrzemin dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 27/01/2013, 17h31
  4. Script bash - boucle lecture arguments
    Par jffskyx dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 16/09/2011, 08h13
  5. écrire un script bash avec des paramètres -r, -a
    Par Balbuzard dans le forum Linux
    Réponses: 4
    Dernier message: 17/12/2009, 13h03

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