#1 Le 20/10/2010, à 13:58
- chriscreech
[bash]Script vérification via ssh
Bonjour,
J'ai un script qui vérifie un nombre de machines virtuelles qui tournent sur un hotes distant via ssh. Le problème c'est que je n'arrive pas à faire prendre en compte mes variable $WARNING et $CRITICAL quand le script est lancé (c'est à dire qu'en mettant en dur des entiers dans le script, là ça passe).
Concrètement :
La ca marche
#!/bin/bash
WARNING=$1
CRITICAL=$2
MACHINE=$3
ssh -t -q root@${MACHINE} 'bash -c "/home/checkvm/check_xen_vm -w 5 -c 3"'
Et là ça marche pas
#!/bin/bash
WARNING=$1
CRITICAL=$2
MACHINE=$3
ssh -t -q root@${MACHINE} 'bash -c "/home/checkvm/check_xen_vm -w $WARNING -c $CRITICAL "'
Je me trompe dans mes quotes (faut peut-être en ajouter ou en supprimer) ?
Merci pour votre aide
Hors ligne
#2 Le 20/10/2010, à 14:10
- Totor
Re : [bash]Script vérification via ssh
Je me trompe dans mes quotes (faut peut-être en ajouter ou en supprimer) ?
oui ! les simples quote protègent le texte et empeche la substitution de variable.
Soit tu utilises les doubles quotes :
#!/bin/bash
WARNING=$1
CRITICAL=$2
MACHINE=$3
ssh -t -q root@${MACHINE} "bash -c \"/home/checkvm/check_xen_vm -w $WARNING -c $CRITICAL\""
soit tu fermes puis ré-ouvres les simples quotes :
#!/bin/bash
WARNING=$1
CRITICAL=$2
MACHINE=$3
ssh -t -q root@${MACHINE} 'bash -c "/home/checkvm/check_xen_vm -w ' $WARNING ' -c ' $CRITICAL'"'
-- Lucid Lynx --
Hors ligne
#3 Le 20/10/2010, à 14:16
- chriscreech
Re : [bash]Script vérification via ssh
Super merci pour ces éclaircissements
Hors ligne