2017-09-13 4 views
0

Ich habe ein Problem mit einer Ausführung eines Shell-Skript in eine Remote-Shell.Probleme, um eine Remote-Shell-Variable

Ich kann den Wert von $ ARQ_END nicht erhalten.

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 

Antwort

1

Das Festlegen einer Variablen in einer Subshell ist in der übergeordneten Shell nicht sichtbar. Sie müssen die Variable direkt in der übergeordneten Shell festlegen. Die Methode besteht darin, die Ausgabe von ReturnFileName.sh über die ssh-Sitzung und an die übergeordnete Shell weiterzuleiten und sie dort zu erfassen.

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

Danke, es funktioniert! Ich verwendete den Fall, wie Sie gepostet:

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