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 :

parametre de script


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut parametre de script
    Bonjour tout le monde

    Mon soucis est que je suis en train de faire un script dont une partie à besoin de savoir si un process tourne ou pas. Pour le faire, il fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/ps -auxwww|$2|wc -l
    ce ps est pippé avec un filtreest fonction du process qu'on désire chercher à ce moment là et est reçu en paramètre du script.

    Exemple: ./check_process.sh 'grep coucou|grep bonjour'

    A l'exécution j'ai la réponse suivante:

    'grep' is not recognized as an internal or external command, operable program or batch file.

    Si quelqu'un a une idée, je suis preneur. Merci d'avance

  2. #2
    Membre chevronné Avatar de Leeloo_Multiboot
    Profil pro
    Administrateur Unix/Linux
    Inscrit en
    Avril 2008
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur Unix/Linux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2008
    Messages : 417
    Par défaut
    Coucou,

    Il faut faire un test à l'intérieur de ton script:

    Tu lances ton script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /check_process.sh coucou bonjour
    Dans ton script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If [(ps -aux | grep $1) ou (ps -aux | grep $2)]; then
     
    do
    ....... action
    else
    ....... action
    fi

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Ta méthode a l'air d'être une invitation à l'injection de code. ça m'a l'air plutôt sale de vouloir passer une commande en paramètre.

    Pourquoi ne pas plutôt utiliser /var/run/nomscript.pid dans le script que tu veux surveiller ?

    Tu crées ce fichier en écrivant le pid du script quand le script est lancé, tu le détruis quand le script prend fin. Et pour tester qu'il est lancé, tu vérifies l'existence d'un processus avec ce script.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  4. #4
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 37
    Par défaut
    Merci pour la rapidité des réponses.

    Citation Envoyé par Leeloo_Multiboot Voir le message
    Coucou,

    Il faut faire un test à l'intérieur de ton script:

    Tu lances ton script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /check_process.sh coucou bonjour
    je veux bien faire un test interne mais le souci est que le parametre du filtre peut juste etre:
    1.) Que le login du user : pour voir le nombre de process lancé par ce dernier
    2.) Un "grep user" pippé avec un "grep nom du process": pour savoir combien de ce process a été lancé par ce user.
    3.) Le script est exécuté par connexion ssh sur un serveur distant(une VM) .

    C'est pour ça que je passe le filtre entier en parametre du script

  5. #5
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Bonsoir,

    La programmation de scripts est utilisée pour éviter de retaper les commandes. Or, le paramètre passé est encore une suite de commandes, donc tu n'es peut-être pas allé au bout de ta démarche. Mais tu as bien sûr le droit de le faire.

    Pour corriger ton script, enlève le '-' de la commande ps et passe le $2 en $1.

  6. #6
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Sinon, tu as peut-être pgrep qui fait tout ça (i.e. un grep sur le nom du process et retourne le PID).

Discussions similaires

  1. passer des parametres à un script awk
    Par rodriguesk dans le forum Administration système
    Réponses: 1
    Dernier message: 14/03/2009, 18h33
  2. passage de parametre à un script pl/sql
    Par edennnnn dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 15/12/2008, 16h56
  3. [mysql 5] parametrer un script sql
    Par pop_up dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 12/04/2007, 11h11
  4. Problème de reception parametre dans script sh
    Par lolo_ici_et_la dans le forum Linux
    Réponses: 1
    Dernier message: 05/01/2006, 17h55
  5. Une option en parametre de scripts...
    Par ptitBoutchou dans le forum Linux
    Réponses: 4
    Dernier message: 27/05/2004, 16h14

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