SSHセッションで宣言された変数を使用しようとするたびに、空の出力が表示されます。私が実行したいコードは次のとおりです。
ssh -T host <<\HERE
export usage1=$(df -h |grep /nas/infa|sed s/%//g| awk '{printf("%d\n",$4)}');
echo $usage1
HERE
echo $usage1
SSHセッション内で目的の出力を取得できますが、SSHの外部で同じ変数を呼び出すと空白が表示されます。
答え1
リモートで実行されたコマンドの値をローカル環境の変数にインポートすることは、ローカルで実行されたコマンドの値をローカル環境にインポートするのと同じです。たとえば、次のようになります。
export usage1=$(ssh -T host <<\HERE
df -h|grep /nas/infa|sed s/%//g|awk '{printf("%d\n",$4)}'
HERE
)
echo $usage1