SSHセッションで宣言された変数を私のシェルスクリプトでローカルに使用したいと思います。

SSHセッションで宣言された変数を私のシェルスクリプトでローカルに使用したいと思います。

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

関連情報