Forum Clubic

Script Bash récupération de valeur d'une variable

Bonjour à vous tous,

Tout d’abord, je suis loin d’etre d’un expert …
Mon script doit exécuter un script qui est sur une machine distante

Script local

#!/bin/bash
script_path="/opt/"
script_name="check_zfs"
script_zp="data-zp"
script_verb="3"

ssh IP_DU_SERVEUR_DISTANT \
$script_path$script_name $script_zp $script_verb

Script distant (enfin un extrait)

$msg = sprintf "ZPOOL %s : %s {Size:%s Used:%s Avail:%s Cap:%s} %s\n", $pool, $health, $size, $used, $avail, $cap, $dmge;
print $state, " ", $msg;
exit ($ERRORS{$state});

Dans ce script distant je souhaiterais récupérer la valeur que retourne $state.

$state peux renvoyer plusieurs valeur :
DEPENDENT’=>4,
‘UNKNOWN’=>3,
‘OK’=>0,
‘WARNING’=>1,
‘CRITICAL’=>2

Comment faire ?

Merci de votre aide.

avec "return " ca pourrait le faire non ?
DAns ton script “distant”, tu checkes le contenu de la variable que tu veux et suivant le contenu, tu renvoies un code specifique.
Et dans ton script local (celui qui lance la commande distant), tu recuperes la valeur de retour et tu fais tes traitements en fonction

Ok merci de ta réponse, mais je ne vois pas trés bien ce que tu veux dire … Désolé

Peux tu me l’illustrer ?

Merci encore de ton aide!

Bonjour,

Tu peux diriger la sortie d’une commande vers une varialble en utilisant la syntaxe
variable=$(commande)


#!/bin/bash
script_path="/opt/"
script_name="check_zfs"
script_zp="data-zp"
script_verb="3"

valeur_retour=$(ssh IP_DU_SERVEUR_DISTANT \
$script_path$script_name $script_zp $script_verb)