2017-09-13 2 views
0

J'ai un problème avec l'exécution d'un script shell dans un shell distant.Problèmes d'obtention d'une variable de shell distante

Je ne peux pas obtenir la valeur de $ ARQ_END.

ssh -T [email protected] << 'EOSSH' 

/app/work/leo/ReturnFileName.sh #This script returns a filename like: ADDRESS_BR_RECIFE_20170913.txt 
ARQ_END="`/app/work/leo/ReturnFileName.sh`" 
EOSSH 

echo $ARQ_END #Returns nothing! Expected to return: ADDRESS_BR_RECIFE_20170913.txt 

Répondre

1

La définition d'une variable dans un sous-shell n'est pas visible dans le shell parent. Vous devez définir la variable directement dans le shell parent. La façon de le faire est de passer la sortie de ReturnFileName.sh à travers la session ssh et au shell parent et de le capturer là.

ARQ_END=$(ssh [email protected] /app/work/leo/ReturnFileName.sh) 
echo "$ARQ_END" 
0

Merci, cela fonctionne! J'ai utilisé l'étui lorsque vous l'avez posté:

ARQ_END=$(ssh [email protected] /app/work/leo/ReturnFileName.sh) 
echo "$ARQ_END"