Signaler

Connexion ssh script bash - commande

Posez votre question lardio - Dernière réponse le 16 févr. 2017 à 20:15 par qqchquicommenceparQ
Bonjour,

je tente d'ecrire un petit script qui se connectera a un autre serveur pour lancer des commandes.

ssh user@server<< EOF


dir=804
df -k | grep nagios
cd /product/tomcat/
pwd
cd /product/tomcat/800/
pwd
cd /product/tomcat/"$dir"/
pwd
echo "$dir"
EOF


RESULTAT


user@server's password:

/dev/mapper/rootvg-nagios_client
225248 106852 106928 50% /product/nagios_client
/product/tomcat
/product/tomcat/800
/product/tomcat


Lorsque je passe la connexion en ssh, mes variables ne sont pas reconnu (ici dir). Lors du dernier pwd, ou du echo, la variable est pas prise en compte.
Une idee ?

Merci d'avance,
Afficher la suite 
Utile
+1
plus moins
salut,

il faut mettre les commandes entre apostrophes pour que l'environnement change effectivement.
pour qu'un here-string s'exécute entre apostrophes, c'est le mot qu'on met entre apostrophes :
ssh user@machine <<'eof'
var="pouic pouic"
echo "$var"
eof
Cette réponse vous a-t-elle aidé ?  
lardio- 16 févr. 2017 à 18:46
Bonjour,
merci beaucoup pour la reponse.
Par contre je perd mes precedentes variables ?

En exemple (plus simple ^^) :


hope=super
ssh user@machine <<'EOF'

var="pouic pouic"
echo "$var"
echo "$hope"
EOF


RESULTAT


pouic pouic


Est-il possible de conserver ses variables tout en etant connecte en ssh pour les utiliser ?

Merci d'avance
Répondre
Donnez votre avis
Utile
+0
plus moins
quelques recherches plus tard...
$ var=321
$ ssh user@server <<eof
echo "$var"
varD="pouic"
echo "\$varD"
eof
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !