Connexion ssh script bash - commande

Fermé
lardio - 16 févr. 2017 à 14:12
 Utilisateur anonyme - 16 févr. 2017 à 20:15
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,
A voir également:

2 réponses

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
1
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
0
Utilisateur anonyme
16 févr. 2017 à 20:15
quelques recherches plus tard...
$ var=321
$ ssh user@server <<eof
echo "$var"
varD="pouic"
echo "\$varD"
eof
0