
Immer wenn ich versuche, die in meiner SSH-Sitzung deklarierte Variable zu verwenden, erhalte ich eine leere Ausgabe. Hier ist der Code, den ich auszuführen versuche:
ssh -T host <<\HERE
export usage1=$(df -h |grep /nas/infa|sed s/%//g| awk '{printf("%d\n",$4)}');
echo $usage1
HERE
echo $usage1
Ich kann die gewünschte Ausgabe innerhalb der SSH-Sitzung erhalten, aber wenn ich die gleiche Variable außerhalb von SSH aufrufe, erhalte ich keine Antwort.
Antwort1
Um den Wert eines remote ausgeführten Befehls in eine Variable in Ihrer lokalen Umgebung zu übertragen, ist es dasselbe, als würden Sie den Wert eines lokal ausgeführten Befehls in Ihre lokale Umgebung übertragen, z. B.
export usage1=$(ssh -T host <<\HERE
df -h|grep /nas/infa|sed s/%//g|awk '{printf("%d\n",$4)}'
HERE
)
echo $usage1