Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

chriscreech a écrit :

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 smile

Hors ligne