Connexion ssh script bash - commande
lardio
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je tente d'ecrire un petit script qui se connectera a un autre serveur pour lancer des commandes.
RESULTAT
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,
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,
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-
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
-
-
quelques recherches plus tard...
$ var=321
$ ssh user@server <<eof
echo "$var"
varD="pouic"
echo "\$varD"
eof